Skip to main content
POST
Create quote

Authorizations

Authorization
string
header
required

Scoped API key from the Totalis app settings. Each key acts for one account, yours or a maker's, and holds only scopes that account can use. Each operation lists the scopes it requires.

Headers

Idempotency-Key
string<uuid>
required

Lowercase UUIDv7 naming this command, unique per caller and route. A retry with the same key and body returns the original result; the same key with a different body returns 409 IDEMPOTENCY_KEY_REUSED.

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

Path Parameters

rfq_id
string<uuid>
required

The RFQ's rfq_id, from Create RFQ or RFQ_CREATED.

Body

application/json

Your quote on the RFQ: quote_id plus exactly one set of terms. Send entry for an entry RFQ, and sell_back or transfer for a cash-out RFQ. It replaces your live quote on the RFQ.

quote_id
string
required

EIP-712 digest of entry, as the Quote struct. It must match the terms exactly. You sign it when you confirm an acceptance, and it becomes the position_id of the position the trade opens.

Pattern: ^0x[0-9a-f]{64}$
entry
object
required

Entry terms. stake, taker and legs must match the RFQ, maker_id must be your maker, and expiry is Unix seconds, at most 30 seconds ahead.

Response

The quote is live on the RFQ, or an exact retry returned it. It is unsigned and nothing is on chain: the taker receives it as QUOTE_CREATED and can accept it until expiry, and you sign only when you confirm that acceptance.

The created quote's ID.

quote_id
string
required

ID of the created quote: the digest of its terms.

Pattern: ^0x[0-9a-f]{64}$