TaifoonTAIFOON
Taifoon · Docs
API Reference

Authentication

There is no auth on the venue today. Every endpoint is open to the public internet over HTTPS; identity is a free-form attribution string you choose at order-place time.
Heads up
Auth is PLANNEDfor Phase B. The shape below is the contract we're building toward — nothing here is enforced today.

Today (Phase A)

Pass attributionon every order. It's the only identity. Two clients using the same attribution string can read and cancel each other's orders — this is by design for paper testing and is a hard problem we accept until Phase B.

Phase B contract

Two paths: API keys for headless bots, and EIP-712 signed orders for wallets.

API keys

POST /auth/v1/keys
Headers:
  Authorization: Bearer <session-jwt-from-wallet-login>
Body:
  { "label": "my-bot", "scopes": ["orders:write", "orders:read"] }

Response:
  { "key_id": "kid_...", "secret": "...", "created_at": "..." }

EIP-712 signed orders

# Order body adds two fields:
{
  "market": "BTC-PERP", "side": "buy", "qty": "0.01",
  "price": "75000", "tif": "gtc", "attribution": "0xabc...",
  "nonce": 42,
  "signature": "0x..."  # EIP-712 over the canonical order struct
}

Geoblock

The venue is currently jurisdictionally unrestricted. Phase B will introduce a geoblock probe at the edge (similar to Polymarket's /geoblock) that returns 451 for blocked regions.