tot_rfq_production_ followed by 32 hex characters, with staging in place of
production on Staging. Totalis issues them: see
Get access.
Which code an RFQ records
A refused code is
400 INVALID_REQUEST with a field violation on /builder_code, and no RFQ is created. A code is
recorded once, when the RFQ is created, and never changes. Cash-out RFQs take no builder fields: a position keeps
the attribution of the RFQ that opened it.
An admitted account needs nothing from you on each RFQ. Signing is only for accounts you did not admit.
Sign an origin code
An origin code works only on a browser request from its origin: a wallet session that signed in on your page. An API key request carries no origin, so a signed code is refused there. Create RFQ takes three extra fields:
The message is six lines joined by
\n, with no trailing newline:
The request JSON is minified, with the keys in this order:
intent_id and intent_generation only when you send
them, then stake, legs, builder_code and origin. Each leg is {"outcome_id","side"} in that order.
origin is the page’s origin, exactly as the browser sends it in Origin.
Idempotency-Key and the account_id; your server checks them and returns the two fields.
openPosition does not send builder fields. Create the RFQ with totalis.client.POST("/v1/rfqs")
under the signed Idempotency-Key, then take a quote from watchQuotes, and sign and send it with signEntry and
sendAcceptance (SDK).
Reports and payouts
Totalis pays you an agreed share of the fees on positions your codes opened, in USDC on HyperEVM, to the payout address you registered. Terms are agreed with Totalis and are not stored in the API.
Reports and payouts are by email: ask founders@totalis.trade. To change your
payout address, email us from your registered contact.
Rotation and revocation
To rotate a code or your signer, or to revoke a code, email
founders@totalis.trade.

