Skip to main content
A key authenticates the call. The vault contract only moves funds with a signature from their owner, sent in the request body. Market reads need no key; an expired or revoked key on them still returns 401.

Keys

There is one kind of key. Each key acts for one account, yours or a maker’s, and holds only scopes that account can use.
  • The key alone selects the account, chain and vault. No header or parameter does.
  • A key for a maker naming another maker_id gets 404.
  • Keys start with ttk_v1_prd_ (production) or ttk_v1_stg_ (staging) and work only there.

Create, rotate, revoke

In the Totalis app, under Account, then API keys:
  1. Under Keys act for, choose Your account or a maker.
  2. Enter a name, the scopes and an expiry: 1, 7, 30 or 90 days, or Forever. Only the account’s scopes are offered.
  3. Your wallet approves with a Sign-In with Ethereum message.
  4. Copy the key. It is shown once.
Rotating takes the same approval and keeps the name and scopes. The old key can overlap for none, one hour or 24 hours. Revoking needs no signature and takes effect at once. A key that reports SECRET_UNAVAILABLE is lost: revoke it and create another. An API key cannot create, rotate or revoke keys.

Scopes

A change of the maker’s owner invalidates every key of that maker.

Wallet key

To sign from code, export your Totalis wallet’s key: Account, then Private key, then Reveal private key. Check its address equals wallet in GET /v1/me.
The exported key also signs withdrawals. Anyone who has it can withdraw everything the account holds. Keep only the balance your bot needs.
A maker bot signs its confirmations with the same key. To keep it off the bot, move signing to a key that holds no funds with setQuoteSigner.

Who signs what

Settling and claiming need no signature. Send signatures as lowercase hex with v of 27 or 28. EOA and ERC-1271 signatures are accepted.

Domain

Read Get deployment before you sign; re-read the fees before each quote.

Types

API names and signed names

Signed field names differ from the API’s. This is the only place they do.

USDC nonces

Signature windows are on Limits.