Skip to main content
Every production call carries a credential. Miss it and the trading endpoints answer 401 AUTH_REQUIRED while the streaming endpoint declines the handshake outright. TetraFi uses three credential types, each with a distinct job: Compliance-sensitive operations (such as order submission) may additionally require the X-TetraFi-Attestation header.

Getting a Key

Create a service account in your workspace and issue a key for it from the dashboard (Workspace → Service Accounts → API Keys). Keys are scoped — Read, Trade, or Admin — so a quoting integration only needs Trade. Use tfk_test_ keys against the sandbox and tfk_live_ keys in production. Not on a workspace yet? Reach the team via support and they’ll get one set up.

Sending Credentials

For HTTP requests (RFQ, Router, Trade History), authenticate with the X-API-Key header:
With curl:

Access With and Without a Key

Wire the whole flow against the sandbox on a tfk_test_ key first; flip to tfk_live_ only when the loop is proven.

Rate Limits

Throughput is metered at two levels - the individual key and the workspace it belongs to. If your use case needs more headroom, talk to the team.

Handling Keys Safely

A key is a secret: it belongs on your backend, never in client bundles, public repos, or anything a browser’s network tab can see. Think a key leaked? Kill it in the dashboard and mint a fresh one - or loop in the team if you need a hand.