> ## Documentation Index
> Fetch the complete documentation index at: https://docs.totalis.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# Accept quote

> Accept a quote to open a position or cash one out.

Requires a key for your account with `quote:accept`.

Also requires `sponsorship:use` when Totalis pays the gas.

Also requires `funding:deposit` when the request includes a funding authorization.

Also requires `position:cashout` when the quote is a cash-out.



## OpenAPI

````yaml /hyperliquid/openapi.json post /v1/quotes/{quote_id}/accept
openapi: 3.1.1
info:
  title: Totalis Hyperliquid API
  description: >-
    REST API for Totalis singles and parlays on Hyperliquid HIP-4 outcome
    markets, for client integrations and external market makers.


    Authenticate with a scoped API key created in the Totalis app, sent as
    `Authorization: Bearer <key>`. Public market reads need no key.
    Balance-affecting commands also carry the wallet or maker signature the
    HyperEVM contract verifies.


    Amounts are base-10 strings in native USDC atomic units, large identifiers
    are decimal strings, and every command `POST` requires an `Idempotency-Key`
    header.


    Every error is `{error: {code, message, retry, request_id,
    field_violations}}`. `code` is stable; each operation lists the codes it
    returns per status. `retry` is `NEVER` (stop), `BACKOFF` (resend the same
    request with the same `Idempotency-Key` after `Retry-After` seconds) or
    `REFRESH` (re-read state, then send a new request with a new key).
    `field_violations` names invalid inputs by JSON pointer, such as
    `/legs/0/side`.
  version: 127.0.0-pure-reads
servers:
  - url: https://hip4-api.totalis.trade
    description: Production public edge
  - url: https://hip4-api-staging.totalis.trade
    description: Staging and chain-998 public edge
security: []
tags:
  - name: Markets
    description: HIP-4 markets, their sides and price history. No API key needed.
  - name: RFQs & Quotes
    description: >-
      RFQs and the quotes that answer them: what a taker calls, then what a
      maker calls.
  - name: Positions
    description: Positions the account holds, or its maker backs.
  - name: Account
    description: >-
      The account a key acts for: identity, balances, activity, operations and
      withdrawals.
  - name: Makers
    description: 'The rest of a maker''s setup after Making: capital and collateral.'
  - name: Deployment
    description: The contract deployment every signature is made against.
  - name: WebSocket
    description: The authenticated WebSocket for account and maker updates.
paths:
  /v1/quotes/{quote_id}/accept:
    parameters:
      - $ref: '#/components/parameters/QuoteId'
    post:
      tags:
        - RFQs & Quotes
      summary: Accept quote
      description: >-
        Accept a quote to open a position or cash one out.


        Requires a key for your account with `quote:accept`.


        Also requires `sponsorship:use` when Totalis pays the gas.


        Also requires `funding:deposit` when the request includes a funding
        authorization.


        Also requires `position:cashout` when the quote is a cash-out.
      operationId: acceptQuote
      parameters:
        - $ref: '#/components/parameters/AcceptanceIdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptQuoteCommand'
            example:
              taker_signature: >-
                0xabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababab1b
      responses:
        '200':
          description: >-
            The acceptance after the maker answered or the two-second confirm
            window closed, returned within three seconds. Its status is
            `ACCEPTED`, `PENDING_FUNDING`, `DECLINED`, `TIMED_OUT` or
            `CANCELLED`, never `PENDING_CONFIRM`. `ACCEPTED` means the trade is
            queued, not yet on chain: follow `OPERATION_UPDATED` on the account
            stream until it fills.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcceptanceResult'
              example:
                acceptance_id: 01a0df4e-6269-78d2-a4f6-a1b3c5d7e9f8
                quote_id: >-
                  0x5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e
                rfq_id: 01a0df4e-5e07-7a3c-8f21-d4e6b7a90c1a
                status: ACCEPTED
                deadline: '2026-09-26T20:00:53.352Z'
                operation_id: >-
                  0x9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a
        '400':
          description: >-
            - `INVALID_REQUEST` (retry `NEVER`): The body, a path parameter or a
            header is malformed or fails validation. `field_violations` names
            invalid body fields.

            - `INVALID_IDEMPOTENCY_KEY` (retry `NEVER`): The command needs
            exactly one lowercase UUIDv7 `Idempotency-Key` header; confirm takes
            none.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '401':
          description: >-
            - `UNAUTHENTICATED` (retry `NEVER`): The credential is missing,
            invalid, expired or revoked.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '403':
          description: >-
            - `FORBIDDEN` (retry `NEVER`): The credential is valid but lacks the
            scope, permission or role this operation needs.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '404':
          description: >-
            - `QUOTE_NOT_FOUND` (retry `NEVER`): The quote does not exist.

            - `NOT_FOUND` (retry `NEVER`): The resource does not exist or is not
            visible to this credential.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '409':
          description: >-
            A quote can be accepted once: a new `Idempotency-Key` on an RFQ that
            already has a live acceptance returns `STATE_CONFLICT`.


            - `IDEMPOTENCY_KEY_REUSED` (retry `NEVER`): The idempotency key was
            already used with different input.

            - `RFQ_NOT_OPEN` (retry `REFRESH`): The RFQ is no longer open.

            - `QUOTE_EXPIRED` (retry `REFRESH`): The quote expired.

            - `QUOTE_CANCELLED` (retry `REFRESH`): The maker cancelled the
            quote.

            - `QUOTE_REPLACED` (retry `REFRESH`): A newer quote from the same
            maker replaced this one.

            - `QUOTE_SIGNER_CHANGED` (retry `REFRESH`): The maker's quote signer
            changed after the quote was signed.

            - `QUOTE_CAPACITY_EXCEEDED` (retry `REFRESH`): The maker's current
            capacity does not cover the quote.

            - `STATE_CONFLICT` (retry `REFRESH`): The resource changed and no
            longer admits this request.

            - `CORE_FUNDING_CONFLICT` (retry `REFRESH`): Another Core funding is
            active for this account.

            - `CORE_VAULT_RESERVATION` (retry `REFRESH`): The vault reservation
            for this Core funding changed.

            - `CORE_MOVE_IN_FLIGHT` (retry `REFRESH`): A HyperCore transfer for
            this account is still in flight.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '422':
          description: >-
            - `INVALID_SIGNATURE` (retry `NEVER`): The signature does not verify
            for the signed terms.

            - `WRONG_AUTHORITY` (retry `REFRESH`): The signature is not from the
            current authority: the taker wallet for an accept, or the maker's
            current quote signer for a confirm.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '429':
          description: >-
            - `RATE_LIMITED` (retry `BACKOFF`): The request quota for this
            credential or route is exhausted.
          headers:
            Retry-After:
              $ref: '#/components/headers/RetryAfter'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
        '503':
          description: >-
            - `AUTHORIZATION_UNAVAILABLE` (retry `BACKOFF`): Identity or
            credential authority storage is unavailable.

            - `DEPENDENCY_STALE` (retry `BACKOFF`): A projection or upstream the
            request depends on (chain projection, HyperCore state, database) is
            behind its freshness bound or unavailable.

            - `FINANCIAL_ACTIONS_DISABLED` (retry `BACKOFF`): Financial actions
            are disabled for this deployment.

            - `CONTRACT_SIGNATURE_OVERLOADED` (retry `BACKOFF`): Contract
            signature verification is at capacity.

            - `CORE_FUNDING_UNAVAILABLE` (retry `BACKOFF`): Core funding cannot
            be admitted now.
          headers:
            Retry-After:
              $ref: '#/components/headers/RetryAfter'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Error'
      security:
        - apiKey:
            - quote:accept
components:
  parameters:
    QuoteId:
      name: quote_id
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Bytes32'
      description: >-
        The quote's `quote_id`, from `QUOTE_CREATED`, `QUOTE_ACCEPTED` or Create
        quote.
      example: '0x2b7c9d1e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c'
    AcceptanceIdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        format: uuid
        pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
      description: >-
        Lowercase UUIDv7 that names this acceptance: it becomes the
        `acceptance_id`. Choose it before the first send and reuse it on every
        retry. The same key, quote and body returns the stored acceptance
        without restarting its deadline; the same key with another quote or body
        returns `409 IDEMPOTENCY_KEY_REUSED`. Keys are unique per taker account,
        across all quotes. A quote can be accepted once: a new key on an RFQ
        that already has a live acceptance returns `409 STATE_CONFLICT`. Lost
        the response? Read `GET /v1/quotes/{quote_id}/acceptance` instead of
        accepting again.
      example: 01994f3d-3c4d-7e5f-8a61-7b8c9d0e1f2a
  schemas:
    AcceptQuoteCommand:
      type: object
      additionalProperties: false
      required:
        - taker_signature
      properties:
        taker_signature:
          $ref: '#/components/schemas/ContractSignature'
          description: >-
            Your EIP-712 signature over the quote. For an entry quote, sign its
            `entry` terms as `TakerAccept`. For a cash-out quote, the owner
            signs `quote_id` as `SellBack` or `CashoutTransfer`, the same digest
            the maker signs.
        funding:
          oneOf:
            - $ref: '#/components/schemas/WalletFunding'
            - $ref: '#/components/schemas/CoreFundingRequest'
            - $ref: '#/components/schemas/CombinedFundingRequest'
          description: >-
            Entry quotes only; not allowed on a cash-out. Covers the part of the
            stake your vault balance is short, by `kind`: `WALLET` (a USDC
            authorization from your wallet), `CORE` (a HyperCore spot USDC
            payment) or `COMBINED` (both). Omit it when your vault balance
            covers the stake.
      description: >-
        The taker's accept of the quote in the path. The `Idempotency-Key`
        header becomes the `acceptance_id`.
    AcceptanceResult:
      description: >-
        The accept response: the acceptance after the maker answered or the
        deadline passed.
      allOf:
        - $ref: '#/components/schemas/Acceptance'
    Error:
      additionalProperties: false
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: The one error this request failed with.
      required:
        - error
      type: object
    Bytes32:
      type: string
      pattern: ^0x[0-9a-f]{64}$
    ContractSignature:
      type: string
      pattern: ^0x(?:[0-9a-f]{2}){1,4096}$
    WalletFunding:
      description: >-
        A USDC EIP-3009 ReceiveWithAuthorization moving value from the caller's
        embedded wallet into the vault. The venue fills from and account with
        that wallet; sign the message with both set to it.
      type: object
      additionalProperties: false
      required:
        - kind
        - value
        - valid_after
        - valid_before
        - salt
        - authorization_signature
      properties:
        kind:
          const: WALLET
          description: >-
            Funding source: WALLET pays the shortfall from the caller's embedded
            wallet.
        value:
          $ref: '#/components/schemas/CommonAmount'
          description: >-
            Atomic USDC (6 decimals) drawn from the wallet into the vault. It
            must equal the exact stake shortfall over free vault cash at
            admission, or the wallet part of a Combined funding.
        valid_after:
          $ref: '#/components/schemas/UInt64String'
          description: EIP-3009 validAfter in Unix seconds; must not be in the future.
        valid_before:
          $ref: '#/components/schemas/UInt64String'
          description: >-
            EIP-3009 validBefore in Unix seconds; must be at least 5 seconds
            ahead and at most 900 seconds after valid_after.
        salt:
          $ref: '#/components/schemas/Bytes32'
          description: >-
            Random 32 bytes; the EIP-3009 nonce is keccak256(abi.encode(vault,
            chainId, from, salt, account)), with from and account the embedded
            wallet.
        authorization_signature:
          $ref: '#/components/schemas/Signature65'
          description: >-
            65-byte ECDSA signature by the embedded wallet over the USDC
            ReceiveWithAuthorization message, with the vault as payee.
    CoreFundingRequest:
      type: object
      additionalProperties: false
      required:
        - kind
        - value
        - core_action
      properties:
        kind:
          description: >-
            Funding source: CORE pays the shortfall from Hyperliquid Core spot
            USDC.
          const: CORE
        value:
          type: string
          pattern: ^[1-9][0-9]*$
          description: >-
            Exact requested shortfall in integer USDC-6; recomputed at
            admission.
        core_action:
          description: >-
            Signed Hyperliquid sendAsset moving value from the caller's Core
            spot balance to the Totalis float.
          type: object
          additionalProperties: false
          required:
            - action
            - nonce
            - signature
          properties:
            action:
              $ref: '#/components/schemas/CoreFundingAction'
              description: The sendAsset action exactly as signed.
            nonce:
              description: >-
                Hyperliquid request nonce in Unix milliseconds; must equal
                action.nonce.
              type: integer
              minimum: 1
              maximum: 9007199254740991
            signature:
              $ref: '#/components/schemas/HypercoreSignature'
              description: >-
                Signature by the paying account, the caller's embedded wallet,
                over the HyperliquidTransaction:SendAsset message.
    CombinedFundingRequest:
      type: object
      additionalProperties: false
      required:
        - kind
        - core
        - wallet
      description: >-
        Funds one stake from Hyperliquid Core spot USDC and the embedded wallet
        at once. Both amounts are authorized before the maker is asked, and
        core.value + wallet.value must equal the exact shortfall recomputed at
        admission.
      properties:
        kind:
          description: >-
            Funding source: COMBINED splits the shortfall between Core spot USDC
            and the embedded wallet.
          const: COMBINED
        core:
          $ref: '#/components/schemas/CoreFundingRequest'
          description: >-
            Core part of the funding; its value plus wallet.value must equal the
            exact shortfall.
        wallet:
          $ref: '#/components/schemas/WalletFunding'
          description: >-
            EIP-3009 authorization for the wallet part. valid_before must be
            strictly after the quote expiry, because the vault draws it only
            after Core evidence arrives and still accepts a quote on its expiry
            second, when an equal valid_before has already expired.
    Acceptance:
      allOf:
        - $ref: '#/components/schemas/AcceptanceFields'
      required:
        - acceptance_id
      unevaluatedProperties: false
      type: object
      description: The one record of a taker accepting a quote.
    ErrorDetail:
      additionalProperties: false
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
          description: Stable registered code; branch on this, not on message or status.
        field_violations:
          description: >-
            Each invalid input by JSON pointer; empty when the error is not
            about a specific input.
          items:
            $ref: '#/components/schemas/FieldViolation'
          type: array
        message:
          description: Human-readable; may change without notice.
          minLength: 1
          type: string
        request_id:
          description: >-
            UUIDv7 of this request, also returned in the X-Request-ID header.
            Quote it when reporting a problem.
          format: uuid
          pattern: >-
            ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
          type: string
        retry:
          $ref: '#/components/schemas/Retry'
          description: What the caller should do next; fixed by the registry for each code.
      required:
        - code
        - message
        - retry
        - request_id
        - field_violations
      type: object
    CommonAmount:
      type: string
      pattern: ^(0|[1-9][0-9]*)$
      maxLength: 39
      format: uint128-decimal
    UInt64String:
      type: string
      pattern: >-
        ^(0|[1-9][0-9]{0,18}|1[0-7][0-9]{18}|18[0-3][0-9]{17}|184[0-3][0-9]{16}|1844[0-5][0-9]{15}|18446[0-6][0-9]{14}|184467[0-3][0-9]{13}|1844674[0-3][0-9]{12}|184467440[0-6][0-9]{10}|1844674407[0-2][0-9]{9}|18446744073[0-6][0-9]{8}|1844674407370[0-8][0-9]{6}|18446744073709[0-4][0-9]{5}|184467440737095[0-4][0-9]{4}|18446744073709550[0-9]{3}|18446744073709551[0-5][0-9]{2}|1844674407370955160[0-9]|1844674407370955161[0-5])$
      maxLength: 20
      format: uint64-decimal
    Signature65:
      type: string
      pattern: ^0x[0-9a-f]{130}$
    CoreFundingAction:
      type: object
      additionalProperties: false
      required:
        - type
        - hyperliquidChain
        - signatureChainId
        - destination
        - sourceDex
        - destinationDex
        - token
        - amount
        - fromSubAccount
        - nonce
      properties:
        type:
          description: Hyperliquid action type; always sendAsset.
          const: sendAsset
        hyperliquidChain:
          description: >-
            Hyperliquid network: Mainnet pairs with HyperEVM chain 999, Testnet
            with 998.
          enum:
            - Mainnet
            - Testnet
        signatureChainId:
          description: >-
            Hex chain ID the action is signed under: 0x3e7 (999) on Mainnet,
            0x3e6 (998) on Testnet.
          enum:
            - '0x3e6'
            - '0x3e7'
        destination:
          $ref: '#/components/schemas/NonZeroAddress'
          description: >-
            Totalis float address that receives the USDC; must equal
            deployment.float_address.
        sourceDex:
          description: Balance the USDC leaves; always spot.
          const: spot
        destinationDex:
          description: Balance the USDC arrives in; always spot.
          const: spot
        token:
          description: >-
            Hyperliquid USDC spot token: USDC:0x6d1e7cde53ba9467b783cb7c530ce054
            on Mainnet, USDC:0xeb62eee3685fc4c43992febcd9e75443 on Testnet.
          enum:
            - USDC:0x6d1e7cde53ba9467b783cb7c530ce054
            - USDC:0xeb62eee3685fc4c43992febcd9e75443
        amount:
          description: >-
            Core part as a decimal USDC string, e.g. "12.5"; must equal value
            divided by 1,000,000.
          type: string
          pattern: ^(0|[1-9][0-9]*)(\.[0-9]{1,6})?$
        fromSubAccount:
          description: >-
            Sub-account to send from; always the empty string, meaning the main
            account.
          const: ''
        nonce:
          description: >-
            Action nonce in Unix milliseconds, from 48 hours before to 24 hours
            after server time; must equal core_action.nonce.
          type: integer
          minimum: 1
          maximum: 9007199254740991
    HypercoreSignature:
      type: object
      additionalProperties: false
      required:
        - r
        - s
        - v
      properties:
        r:
          type: string
          pattern: ^0x[0-9a-f]{64}$
          description: ECDSA r component of the secp256k1 signature, 32-byte hex.
        s:
          type: string
          pattern: ^0x[0-9a-f]{64}$
          description: ECDSA s component of the secp256k1 signature, 32-byte hex.
        v:
          type: integer
          enum:
            - 27
            - 28
          description: ECDSA recovery value, 27 or 28.
    AcceptanceFields:
      required:
        - quote_id
        - rfq_id
        - status
        - deadline
      properties:
        acceptance_id:
          $ref: '#/components/schemas/Uuid'
          description: >-
            The `Idempotency-Key` the taker sent with the accept, which names
            this acceptance. Never sent to the maker.
        quote_id:
          $ref: '#/components/schemas/Bytes32'
          description: The accepted quote. A quote has at most one acceptance.
        rfq_id:
          $ref: '#/components/schemas/Uuid'
          description: RFQ the quote answers.
        status:
          enum:
            - PENDING_CONFIRM
            - PENDING_FUNDING
            - ACCEPTED
            - FILLED
            - FAILED
            - DECLINED
            - TIMED_OUT
            - CANCELLED
          description: >-
            `PENDING_CONFIRM`: waiting for the maker. `PENDING_FUNDING`: the
            maker confirmed an entry whose HyperCore payment is still pending.
            `ACCEPTED`: the maker confirmed and the trade is queued as
            `operation_id`. `FILLED`: the trade committed on chain. `FAILED`: it
            reverted or expired unexecuted. `DECLINED`: the maker declined.
            `TIMED_OUT`: the maker did not answer by `deadline`. `CANCELLED`:
            the quote or RFQ went away first, or the HyperCore payment failed.
        deadline:
          $ref: '#/components/schemas/CommonTimestamp'
          description: >-
            When the maker's time to confirm ends, two seconds after the accept,
            as an RFC3339 UTC timestamp.
        operation_id:
          $ref: '#/components/schemas/Bytes32'
          description: >-
            The on-chain operation that executes the trade; present once status
            is `ACCEPTED`, `FILLED` or `FAILED`.
    ErrorCode:
      description: >-
        Stable HTTP error code. Each code has one HTTP status and one retry
        value.
      enum:
        - INVALID_REQUEST
        - INVALID_QUERY
        - INVALID_CURSOR
        - INVALID_IDEMPOTENCY_KEY
        - ORIGIN_REQUIRED
        - SUBPROTOCOL_REQUIRED
        - UNSUPPORTED_BROWSE_CONTRACT
        - UNAUTHENTICATED
        - FORBIDDEN
        - ORIGIN_NOT_ALLOWED
        - ACCESS_REQUIRED
        - NOT_FOUND
        - IDENTITY_NOT_FOUND
        - QUOTE_NOT_FOUND
        - INVITE_CODE_NOT_FOUND
        - IDEMPOTENCY_KEY_REUSED
        - STATE_CONFLICT
        - INVITE_CODE_EXHAUSTED
        - STALE_CURSOR
        - CURSOR_EXPIRED
        - CURSOR_RESET
        - RECURRING_DEFINITION_CONFLICT
        - EMBEDDED_WALLET_CONFLICT
        - SECRET_UNAVAILABLE
        - ROTATION_IN_PROGRESS
        - TELEMETRY_CONFLICT
        - RFQ_NOT_CANCELLABLE
        - RFQ_NOT_OPEN
        - RFQ_GENERATION_STALE
        - RFQ_GENERATION_IN_FLIGHT
        - QUOTE_EXPIRED
        - QUOTE_CANCELLED
        - QUOTE_REPLACED
        - QUOTE_SIGNER_CHANGED
        - QUOTE_CAPACITY_EXCEEDED
        - CORE_ACCOUNT_NOT_READY
        - CORE_EXIT_ABANDONED
        - CORE_FUNDING_CONFLICT
        - CORE_VAULT_RESERVATION
        - CORE_MOVE_IN_FLIGHT
        - INVALID_SIGNATURE
        - WRONG_AUTHORITY
        - KEY_LIMIT_REACHED
        - HYPERCORE_WALLET_UNQUALIFIED
        - HYPERCORE_ACCOUNT_NOT_MAIN
        - HYPERCORE_INSUFFICIENT_BALANCE
        - RATE_LIMITED
        - CONNECTION_LIMIT
        - RFQ_INTENT_LIMIT
        - QUOTE_EXPOSURE_LIMIT
        - DEPENDENCY_STALE
        - AUTHORIZATION_UNAVAILABLE
        - SOURCE_UNAVAILABLE
        - CONTRACT_UNAVAILABLE
        - MARKET_DATA_UNAVAILABLE
        - BROWSE_UNAVAILABLE
        - FINANCIAL_ACTIONS_DISABLED
        - CORE_FUNDING_UNAVAILABLE
        - CORE_EXIT_UNAVAILABLE
        - SPONSORSHIP_UNAVAILABLE
        - CONTRACT_SIGNATURE_OVERLOADED
        - QUOTE_EXPOSURE_STALE
        - COMBO_AUTOMATIC_DISABLED
        - EMBEDDED_WALLET_UNAVAILABLE
        - CONNECTION_DRAIN
      type: string
    FieldViolation:
      additionalProperties: false
      properties:
        code:
          description: >-
            REQUIRED: the input is missing. INVALID: it is present but malformed
            or out of range. UNEXPECTED: the input is not accepted here.
          enum:
            - REQUIRED
            - INVALID
            - UNEXPECTED
          type: string
        field:
          description: >-
            JSON pointer into the body, or into the query parameters as one flat
            object for requests without a body, for example /legs/0/stake or
            /limit.
          pattern: ^(/([^~/]|~[01])*)+$
          type: string
      required:
        - field
        - code
      type: object
    Retry:
      description: >-
        NEVER: stop. BACKOFF: resend the same request with the same
        Idempotency-Key after Retry-After. REFRESH: re-read state, then send a
        new request with a new Idempotency-Key.
      enum:
        - NEVER
        - BACKOFF
        - REFRESH
      type: string
    NonZeroAddress:
      allOf:
        - $ref: '#/components/schemas/Address'
      description: Never `0x0000000000000000000000000000000000000000`.
    Uuid:
      type: string
      format: uuid
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
    CommonTimestamp:
      type: string
      format: date-time
      pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,9})?Z$
      maxLength: 30
    Address:
      type: string
      pattern: ^0x[0-9a-fA-F]{40}$
      format: eip55-address
  headers:
    RetryAfter:
      description: Seconds to wait before resending the same request
      schema:
        type: integer
        minimum: 1
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        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.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.