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

# Simulate a BUY or SELL against the canonical instant matcher.

> Uses the same candidate ordering, fee, rounding, AON/IOC, cost-bound and breaker logic as execution. The quote is point-in-time and is never a guaranteed fill. Exact financial values are decimal strings. Anonymous access remains available; a presented developer key requires market:read. A wallet session adds self-match exclusion and authoritative spendable data; when combined with a developer key, that private enrichment additionally requires account:read.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/markets/{address}/quote
openapi: 3.1.0
info:
  title: Aura API
  description: >-
    Public REST API for Aura, prediction markets on Alephium.


    This API exposes the app read model: markets, live instant order books,

    orders, fills, vault state, oracle and governance. Non-trading

    build-tx endpoints return unsigned transactions for the client to

    sign with its own wallet.


    Interactive reference: https://docs.aura.markets/api-reference/introduction


    ## Discovery


    Built for integrators, not for lazy implementers:


    - **Faceted lists.** Every list endpoint accepts `?facets=true`
      and returns category, tag, and status counts in the same response,
      so a UI can render filter chips without a second request.
    - **Cursor pagination.** Stable across inserts and fast at depth.
      Offset paging via `?page=` is still supported for compat.
    - **Rich filters.** `?q=`, `?category=`, `?tags=`, `?status=`,
      `?creator=`, and `?minVolume=` on `/v1/markets`. Tag matching is
      AND, so all listed tags must be present.
    - **Sortable.** `?sort=created-at|volume|best-bid-yes|recently-traded`
      with `?order=asc|desc`. Use `/v1/trending` for the composite-score sort.
    - **Field projection.** `?fields=id,question,bestBidYes` trims the
      wire weight for thin clients.
    - **Unified search.** `/v1/search?q=` matches strictly first, then
      falls back to typo-tolerant matching when nothing hits. The result
      type is a discriminated union, so adding events or users later is
      non-breaking.
    - **Transparent trending.** `/v1/trending` returns the full algorithm
      and per-market component scores so the ranking is auditable.
    - **Categories and tags as first-class.** `/v1/categories` and
      `/v1/tags` enumerate the taxonomy with market counts.

    ## Authentication


    Aura uses wallet-bound account sessions delivered as an HttpOnly

    cookie. Sign in by signing a one-time challenge with your wallet:


    ```

    POST /v1/auth/challenge   { "address": "..." }

    POST /v1/auth/session     { "address": "...", "publicKey": "...",
    "signature": "...", "keyType": "gl-secp256k1" }

    ```


    The `session` call sets the `aura_session` cookie and returns a CSRF

    token; send it back in the `x-csrf-token` header on every mutating

    request. Every token is checked against durable revocation state.

    `POST /v1/auth/logout` revokes the presented cookie or bearer session;

    cookie callers include the same CSRF header.


    Reads are accessible anonymously with low IP-based rate limits;

    write endpoints (`/v1/tx/*`, social writes) require a valid session.


    ## Rate limits


    | Tier      | Reads (req/min) | Writes (req/min) |

    |-----------|----------------:|-----------------:|

    | Anonymous | 60 per IP | 10 per IP |

    | Signed-in | 600 per wallet | 60 per wallet |


    Standard `RateLimit-*` response headers are returned on every

    request (IETF `draft-ietf-httpapi-ratelimit-headers`).


    ## Write endpoints


    Aura never returns raw keys, signing grants, or transaction/intent

    signatures. Embedded-wallet keys are usable only inside the measured

    enclave. Endpoints under `/v1/tx/*` return an *unsigned* transaction

    for an independently controlled wallet to sign and submit.


    Builder trading endpoints require two independent credentials: a scoped

    developer key identifies and rate-limits the integration, while a

    user-created restricted trading authorization permits only its bounded

    place/cancel policy. Aura signs and submits inside custody; the builder

    receives a receipt, never a reusable signature.


    A typical on-chain lifecycle flow:


    1. `POST /v1/tx/vault/{address}/deposit` → server returns
       `{ unsignedTx, gasEstimate, ... }`.
    2. Wallet signs `unsignedTx`.

    3. Wallet submits the signed tx to any Alephium node.
  version: 0.1.0
  license:
    name: MIT
  contact:
    name: Aura
    url: https://docs.aura.markets
servers:
  - url: /
    description: this server
security:
  - SessionCookie: []
  - SessionBearer: []
  - {}
tags:
  - name: Health
    description: Liveness + version info.
  - name: Auth
    description: Wallet account sessions (sign in, sign out).
  - name: Developer keys
    description: Create, rotate, revoke, and audit scoped builder identities.
  - name: Protocol
    description: Canonical chain, contract, trading, fee, and realtime configuration.
  - name: Transactions
    description: >-
      Reconcile Alephium transaction state with Aura indexing and recovery
      state.
  - name: Platform
    description: Site-wide banner settings and aggregate platform stats.
  - name: Realtime
    description: Server-Sent Events stream for live market and account updates.
  - name: Webhooks
    description: >-
      Durable HMAC-signed delivery of public and explicitly authorized private
      events.
  - name: Markets
    description: Browse and look up prediction markets.
  - name: Categories
    description: Top-level market taxonomy with counts.
  - name: Tags
    description: Free-form market tags with counts.
  - name: Events
    description: Linked-market groups (multi-leg events).
  - name: Search
    description: Full-text + fuzzy search across markets.
  - name: Orderbook
    description: Live order book + recent fills.
  - name: Trading
    description: Secure builder order placement, cancellation, and dead-man controls.
  - name: Trading receipts
    description: Public keys for verifying sequencer receipts.
  - name: Prices
    description: Latest prices and historical price series.
  - name: Positions
    description: Open share positions for the signed-in wallet.
  - name: Funding
    description: >-
      Wallet-authorized native funding balances, deposits, history, and
      withdrawal construction.
  - name: Parlays
    description: Parlay pool capacity, leg correlation checks, and clearance.
  - name: Vault
    description: AURA token vault. Build unsigned deposit / unlock / withdraw txs.
  - name: Disputes
    description: Optimistic oracle disputes. Read-side state and votes.
  - name: Oracle votes
    description: Build unsigned oracle txs (submit / dispute / commit / reveal).
  - name: Voting
    description: Governance proposals + voting period state.
  - name: Vote
    description: Build unsigned governance vote tx.
  - name: Proposals
    description: Validate + build market-proposal txs (single-leg, linked, parlay).
  - name: Rewards
    description: Liquidity reward programs, per-wallet accruals, and market sponsorships.
  - name: Earnings
    description: >-
      Unified creator, maker, referral, treasury, and builder attribution
      accounting.
  - name: Referrals
    description: Referral summaries and payout history.
  - name: Users
    description: Wallet-scoped reads. Profile, positions, orders, parlays.
  - name: Account actions
    description: Aggregated "what does this wallet need to do" views.
  - name: Account
    description: Watchlist and notification management for the signed-in wallet.
  - name: Leaderboard
    description: Top traders by composite score.
  - name: Account
    description: Watchlist and notification state for the signed-in wallet.
externalDocs:
  description: Full Aura documentation (guides + interactive API reference)
  url: https://docs.aura.markets
paths:
  /v1/markets/{address}/quote:
    post:
      tags:
        - Trading
      summary: Simulate a BUY or SELL against the canonical instant matcher.
      description: >-
        Uses the same candidate ordering, fee, rounding, AON/IOC, cost-bound and
        breaker logic as execution. The quote is point-in-time and is never a
        guaranteed fill. Exact financial values are decimal strings. Anonymous
        access remains available; a presented developer key requires
        market:read. A wallet session adds self-match exclusion and
        authoritative spendable data; when combined with a developer key, that
        private enrichment additionally requires account:read.
      parameters:
        - schema:
            type: string
            minLength: 30
            maxLength: 80
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
          in: path
          name: address
          required: true
          description: Alephium address (base58, optional `:N` group suffix).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                outcome:
                  type: string
                  enum:
                    - 'yes'
                    - 'no'
                side:
                  type: string
                  enum:
                    - buy
                    - sell
                orderType:
                  type: string
                  enum:
                    - gtc_limit
                    - ioc_market
                quantityBaseUnits:
                  type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  description: >-
                    Exact token base-unit quantity encoded as canonical JSON
                    string.
                spendBaseUnits:
                  type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  description: >-
                    Exact token base-unit quantity encoded as canonical JSON
                    string.
                limitPriceTick:
                  type: integer
                  minimum: 0
                  maximum: 1000
                  description: Price as integer ticks of 0.001 (0=No, 1000=Yes).
                costBoundBaseUnits:
                  type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  description: >-
                    Exact token base-unit quantity encoded as canonical JSON
                    string.
                feeCapBps:
                  type: integer
                  minimum: 0
                  maximum: 65535
                allowPartialFill:
                  default: true
                  type: boolean
                expectedBookVersion:
                  type: string
                  pattern: ^(0|[1-9][0-9]*)$
                  description: >-
                    Exact token base-unit quantity encoded as canonical JSON
                    string.
              required:
                - outcome
                - side
                - orderType
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  marketAddress:
                    type: string
                    minLength: 30
                    maxLength: 80
                    pattern: >-
                      ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                    description: Alephium address (base58, optional `:N` group suffix).
                  marketId:
                    type: string
                    pattern: ^[0-9a-f]{64}$
                  request:
                    type: object
                    properties:
                      outcome:
                        type: string
                        enum:
                          - 'yes'
                          - 'no'
                      side:
                        type: string
                        enum:
                          - buy
                          - sell
                      orderType:
                        type: string
                        enum:
                          - gtc_limit
                          - ioc_market
                      quantityBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      spendBaseUnits:
                        anyOf:
                          - type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          - type: 'null'
                      limitPriceTick:
                        type: integer
                        minimum: 0
                        maximum: 1000
                        description: Price as integer ticks of 0.001 (0=No, 1000=Yes).
                      costBoundBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      feeCapBps:
                        type: integer
                        minimum: 0
                        maximum: 65535
                      allowPartialFill:
                        type: boolean
                      ownerSelfMatchExcluded:
                        type: boolean
                    required:
                      - outcome
                      - side
                      - orderType
                      - quantityBaseUnits
                      - spendBaseUnits
                      - limitPriceTick
                      - costBoundBaseUnits
                      - feeCapBps
                      - allowPartialFill
                      - ownerSelfMatchExcluded
                    additionalProperties: false
                  estimate:
                    type: object
                    properties:
                      fills:
                        type: array
                        items:
                          type: object
                          properties:
                            fillIndex:
                              type: integer
                              minimum: 0
                              maximum: 9007199254740991
                            matchType:
                              type: string
                              enum:
                                - complementary_buy
                                - same_outcome
                                - complementary_sell
                            makerSide:
                              type: string
                              enum:
                                - buy
                                - sell
                            executionPriceTick:
                              type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            makerPriceTick:
                              type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            quantityBaseUnits:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)$
                              description: >-
                                Exact token base-unit quantity encoded as
                                canonical JSON string.
                            debitBaseUnits:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)$
                              description: >-
                                Exact token base-unit quantity encoded as
                                canonical JSON string.
                            creditBaseUnits:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)$
                              description: >-
                                Exact token base-unit quantity encoded as
                                canonical JSON string.
                            feeBaseUnits:
                              type: string
                              pattern: ^(0|[1-9][0-9]*)$
                              description: >-
                                Exact token base-unit quantity encoded as
                                canonical JSON string.
                          required:
                            - fillIndex
                            - matchType
                            - makerSide
                            - executionPriceTick
                            - makerPriceTick
                            - quantityBaseUnits
                            - debitBaseUnits
                            - creditBaseUnits
                            - feeBaseUnits
                          additionalProperties: false
                      filledQuantityBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      unfilledQuantityBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      unspentBaseUnits:
                        anyOf:
                          - type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          - type: 'null'
                      averageExecutionPriceTick:
                        anyOf:
                          - type: object
                            properties:
                              numerator:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              denominator:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              floor:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                            required:
                              - numerator
                              - denominator
                              - floor
                            additionalProperties: false
                          - type: 'null'
                      worstExecutionPriceTick:
                        anyOf:
                          - type: integer
                            minimum: 0
                            maximum: 1000
                            description: Price as integer ticks of 0.001 (0=No, 1000=Yes).
                          - type: 'null'
                      expectedReceivedQuantityBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      expectedProceedsBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      totalFeeBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      requiredCollateralBaseUnits:
                        type: string
                        pattern: ^(0|[1-9][0-9]*)$
                        description: >-
                          Exact token base-unit quantity encoded as canonical
                          JSON string.
                      currentSpendableBaseUnits:
                        anyOf:
                          - type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          - type: 'null'
                      priceImpactBps:
                        anyOf:
                          - type: object
                            properties:
                              numerator:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              denominator:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              floor:
                                type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                            required:
                              - numerator
                              - denominator
                              - floor
                            additionalProperties: false
                          - type: 'null'
                    required:
                      - fills
                      - filledQuantityBaseUnits
                      - unfilledQuantityBaseUnits
                      - unspentBaseUnits
                      - averageExecutionPriceTick
                      - worstExecutionPriceTick
                      - expectedReceivedQuantityBaseUnits
                      - expectedProceedsBaseUnits
                      - totalFeeBaseUnits
                      - requiredCollateralBaseUnits
                      - currentSpendableBaseUnits
                      - priceImpactBps
                    additionalProperties: false
                  spendable:
                    oneOf:
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - available
                          basis:
                            type: string
                            enum:
                              - wallet_collateral
                              - sellable_position
                          amountBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          confirmedWalletBalanceBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          activeCollateralHoldsBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          matchedBuyObligationsBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          openSellHoldsBaseUnits:
                            anyOf:
                              - type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              - type: 'null'
                          matchedSellObligationsBaseUnits:
                            anyOf:
                              - type: string
                                pattern: ^(0|[1-9][0-9]*)$
                                description: >-
                                  Exact token base-unit quantity encoded as
                                  canonical JSON string.
                              - type: 'null'
                          pendingDepositsBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          pendingOutflowsBaseUnits:
                            type: string
                            pattern: ^(0|[1-9][0-9]*)$
                            description: >-
                              Exact token base-unit quantity encoded as
                              canonical JSON string.
                          custodyOperationActive:
                            type: boolean
                          settlementTokenId:
                            type: string
                            pattern: ^[0-9a-f]{64}$
                          evaluatedAt:
                            type: string
                            format: date-time
                            pattern: >-
                              ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                        required:
                          - status
                          - basis
                          - amountBaseUnits
                          - confirmedWalletBalanceBaseUnits
                          - activeCollateralHoldsBaseUnits
                          - matchedBuyObligationsBaseUnits
                          - openSellHoldsBaseUnits
                          - matchedSellObligationsBaseUnits
                          - pendingDepositsBaseUnits
                          - pendingOutflowsBaseUnits
                          - custodyOperationActive
                          - settlementTokenId
                          - evaluatedAt
                        additionalProperties: false
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - unauthenticated
                        required:
                          - status
                        additionalProperties: false
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - unavailable
                        required:
                          - status
                        additionalProperties: false
                      - type: object
                        properties:
                          status:
                            type: string
                            enum:
                              - wallet_account_not_found
                        required:
                          - status
                        additionalProperties: false
                  bookVersion:
                    type: string
                    pattern: ^(0|[1-9][0-9]*)$
                    description: >-
                      Exact token base-unit quantity encoded as canonical JSON
                      string.
                  streamCursor:
                    type: string
                  quotedAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  expiresAt:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                  warnings:
                    type: array
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          enum:
                            - SELF_MATCH_EXCLUSION_UNAVAILABLE
                            - MARKET_PAUSED
                            - MARKET_CLOSED
                            - MARKET_SETTLEMENT_NOT_READY
                            - NO_EXECUTABLE_LIQUIDITY
                            - ZERO_AFFORDABLE_QUANTITY
                            - BELOW_MIN_NOTIONAL
                            - FEE_CAP_BELOW_VENUE_RATE
                            - VALUE_EXCEEDS_PROTOCOL_RANGE
                            - PARTIAL_FILL
                            - COST_BOUND_LIMITED
                            - NOTIONAL_CAP_LIMITED
                            - FILL_SIMULATION_LIMIT
                            - WALLET_SESSION_REQUIRED_FOR_SPENDABLE
                            - SPENDABLE_UNAVAILABLE
                            - WALLET_ACCOUNT_NOT_FOUND
                            - INSUFFICIENT_SPENDABLE
                        message:
                          type: string
                          minLength: 1
                      required:
                        - code
                        - message
                      additionalProperties: false
                  guaranteed:
                    type: boolean
                    enum:
                      - false
                required:
                  - marketAddress
                  - marketId
                  - request
                  - estimate
                  - spendable
                  - bookVersion
                  - streamCursor
                  - quotedAt
                  - expiresAt
                  - warnings
                  - guaranteed
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '429':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
        '503':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: Machine-readable error code (snake_case).
                      message:
                        type: string
                        description: Human-readable error message.
                      requestId:
                        type: string
                        description: >-
                          Per-request correlation id. Include it when reporting
                          an error to Aura.
                      details: {}
                    required:
                      - code
                      - message
                      - requestId
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
      security:
        - {}
        - DeveloperKey: []
        - SessionCookie: []
        - SessionBearer: []
        - DeveloperKey: []
          SessionCookie: []
        - DeveloperKey: []
          SessionBearer: []
components:
  securitySchemes:
    SessionCookie:
      type: apiKey
      in: cookie
      name: aura_session
      description: >-
        HttpOnly session cookie set by POST /v1/auth/session. Mutating requests
        must also send the CSRF token (returned by that call) in the
        x-csrf-token header.
    SessionBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        The same wallet-bound session JWT returned only when POST
        /v1/auth/session uses issueToken=true. Intended for server-side/scripted
        clients; cookie CSRF does not apply.
    DeveloperKey:
      type: apiKey
      in: header
      name: x-aura-developer-key
      description: >-
        Builder identity and quota key. It never substitutes for a wallet
        session or restricted trading authorization and can never sign or
        custody assets.

````