> ## 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.

# List markets permanently attributed to a creator.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/creators/{address}/markets
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: Creators
    description: >-
      Public creator discovery, attribution, performance, earnings, and
      reputation.
  - 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/creators/{address}/markets:
    get:
      tags:
        - Creators
      summary: List markets permanently attributed to a creator.
      parameters:
        - schema:
            default: 25
            type: integer
            minimum: 1
            maximum: 100
          in: query
          name: limit
          required: false
        - schema:
            type: string
          in: query
          name: cursor
          required: false
        - schema:
            type: integer
            minimum: 0
            maximum: 9007199254740991
          in: query
          name: page
          required: false
        - schema:
            type: string
            minLength: 30
            maxLength: 80
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
          in: path
          name: address
          required: true
          description: Alephium address (base58, optional `:N` group suffix).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  markets:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                          description: Database id (stable, monotonic).
                        marketAddress:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        question:
                          type: string
                        category:
                          anyOf:
                            - type: string
                            - type: 'null'
                        tags:
                          type: array
                          items:
                            type: string
                          description: >-
                            Cross-cutting labels (e.g. ["nfl","superbowl"]).
                            Empty if absent.
                        creator:
                          anyOf:
                            - type: string
                              minLength: 30
                              maxLength: 80
                              pattern: >-
                                ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                              description: >-
                                Alephium address (base58, optional `:N` group
                                suffix).
                            - type: 'null'
                        creatorAttribution:
                          anyOf:
                            - type: object
                              properties:
                                address:
                                  type: string
                                  minLength: 30
                                  maxLength: 80
                                  pattern: >-
                                    ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                                  description: >-
                                    Alephium address (base58, optional `:N`
                                    group suffix).
                                profile:
                                  type: object
                                  properties:
                                    identityPublic:
                                      type: boolean
                                    username:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                    avatarUrl:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                  required:
                                    - identityPublic
                                    - username
                                    - avatarUrl
                                  additionalProperties: false
                                capacityKind:
                                  type: string
                                  enum:
                                    - personal
                                    - delegated
                                slotOwnerAddress:
                                  type: string
                                  minLength: 30
                                  maxLength: 80
                                  pattern: >-
                                    ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                                  description: >-
                                    Alephium address (base58, optional `:N`
                                    group suffix).
                                delegationId:
                                  anyOf:
                                    - type: string
                                      pattern: ^(0x)?[0-9a-fA-F]+$
                                      description: >-
                                        32-byte hex string (with or without `0x`
                                        prefix).
                                    - type: 'null'
                                slotDelegatorRewardShareBps:
                                  type: integer
                                  minimum: 0
                                  maximum: 10000
                                tierHistoryAuthorityAddress:
                                  type: string
                                  minLength: 30
                                  maxLength: 80
                                  pattern: >-
                                    ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                                  description: >-
                                    Alephium address (base58, optional `:N`
                                    group suffix).
                                tierHistoryVersion:
                                  type: string
                                  pattern: ^(0|[1-9][0-9]*)$
                                  description: >-
                                    Exact token base-unit quantity encoded as
                                    canonical JSON string.
                                tierCeilingCode:
                                  type: integer
                                  minimum: 0
                                  maximum: 9
                                creatorRewardPointsCeiling:
                                  type: integer
                                  minimum: 0
                                  maximum: 250
                                slotUseRootProposalId:
                                  type: string
                                  pattern: ^(0|[1-9][0-9]*)$
                                  description: >-
                                    Exact token base-unit quantity encoded as
                                    canonical JSON string.
                                proposalCapacityLimit:
                                  type: integer
                                  minimum: 0
                                  maximum: 25
                                linkedBundleLimit:
                                  type: integer
                                  minimum: 0
                                  maximum: 100
                                rewardPlanHash:
                                  type: string
                                  pattern: ^(0x)?[0-9a-fA-F]+$
                                  description: >-
                                    32-byte hex string (with or without `0x`
                                    prefix).
                                protocolConfigVersion:
                                  type: integer
                                  exclusiveMinimum: 0
                                  maximum: 9007199254740991
                                attributedAt:
                                  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))$
                                topCreator:
                                  type: boolean
                                rankingReason:
                                  type: string
                                  enum:
                                    - top_creator
                                    - standard
                                reputationScore:
                                  anyOf:
                                    - type: integer
                                      minimum: 0
                                      maximum: 1000
                                    - type: 'null'
                                reputationProvisional:
                                  anyOf:
                                    - type: boolean
                                    - type: 'null'
                                creatorRank:
                                  anyOf:
                                    - type: integer
                                      exclusiveMinimum: 0
                                      maximum: 9007199254740991
                                    - type: 'null'
                                rankingEpoch:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                              required:
                                - address
                                - profile
                                - capacityKind
                                - slotOwnerAddress
                                - delegationId
                                - slotDelegatorRewardShareBps
                                - tierHistoryAuthorityAddress
                                - tierHistoryVersion
                                - tierCeilingCode
                                - creatorRewardPointsCeiling
                                - slotUseRootProposalId
                                - proposalCapacityLimit
                                - linkedBundleLimit
                                - protocolConfigVersion
                                - attributedAt
                                - topCreator
                                - rankingReason
                                - reputationScore
                                - reputationProvisional
                                - creatorRank
                                - rankingEpoch
                              additionalProperties: false
                            - type: 'null'
                        consensusMarketType:
                          type: string
                          description: >-
                            Factory-authenticated protocol taxonomy; distinct
                            from category and sports metadata.
                          enum:
                            - binary
                        consensusMarketTypeHash:
                          type: string
                          pattern: ^[0-9a-f]{64}$
                        resolved:
                          type: boolean
                        finalOutcome:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        volume:
                          type: string
                          description: >-
                            Total traded volume in collateral base units
                            (string, preserves precision).
                        bestBidYes:
                          anyOf:
                            - type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            - type: 'null'
                        bestAskYes:
                          anyOf:
                            - type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            - type: 'null'
                        bestBidNo:
                          anyOf:
                            - type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            - type: 'null'
                        bestAskNo:
                          anyOf:
                            - type: integer
                              minimum: 0
                              maximum: 1000
                              description: >-
                                Price as integer ticks of 0.001 (0=No,
                                1000=Yes).
                            - type: 'null'
                        createdAt:
                          type: string
                          description: ISO-8601.
                        metadata:
                          anyOf:
                            - type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            - type: 'null'
                        imageUrl:
                          anyOf:
                            - type: string
                            - type: 'null'
                        rules:
                          anyOf:
                            - type: string
                            - type: 'null'
                        resolutionSources:
                          anyOf:
                            - type: string
                            - type: 'null'
                        master:
                          type: boolean
                        masterQuestion:
                          anyOf:
                            - type: string
                            - type: 'null'
                        masterImage:
                          anyOf:
                            - type: string
                            - type: 'null'
                        linked:
                          type: boolean
                        proposalId:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        tradingVenue:
                          type: string
                          description: >-
                            Instant off-chain matching with batched
                            Clearinghouse settlement.
                          enum:
                            - clearinghouse
                        lifecycle:
                          type: object
                          properties:
                            marketId:
                              anyOf:
                                - type: string
                                  pattern: ^[0-9a-f]{64}$
                                - type: 'null'
                            authority:
                              type: string
                              enum:
                                - projection
                            version:
                              type: string
                              pattern: ^\d+$
                            stage:
                              type: string
                              enum:
                                - created_locally
                                - proposal_pending
                                - deployment_broadcast
                                - deployment_confirmed
                                - registration_pending
                                - registration_confirmed
                                - open
                                - paused
                                - closed
                                - finalizable
                                - disputed
                                - resolved
                                - settlement_pending
                                - claimable
                                - archived
                              description: >-
                                Canonical display stage derived from the
                                orthogonal lifecycle axes. Deployed market rows
                                begin at deployment_confirmed; drafts, unsigned
                                builds, and transaction reconciliation own
                                earlier phases.
                            deploymentStatus:
                              type: string
                              enum:
                                - confirmed
                            registrationStatus:
                              type: string
                              enum:
                                - pending
                                - registered
                                - retired
                            tradingStatus:
                              type: string
                              enum:
                                - pending
                                - open
                                - paused
                                - closed
                            resolutionStatus:
                              type: string
                              enum:
                                - unresolved
                                - proposed
                                - disputed
                                - resolved
                            settlementStatus:
                              type: string
                              enum:
                                - not_started
                                - recorded
                                - payouts_enqueued
                                - archived
                            pauseReasons:
                              type: array
                              items:
                                type: string
                            pauseCauses:
                              type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            oracleRound:
                              type: string
                              pattern: ^\d+$
                            oracleGeneration:
                              type: string
                              pattern: ^\d+$
                            claimableAt:
                              anyOf:
                                - 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))$
                                - type: 'null'
                            isClaimable:
                              type: boolean
                            resolution:
                              type: object
                              properties:
                                proposedOutcome:
                                  anyOf:
                                    - type: integer
                                      minimum: 1
                                      maximum: 2
                                    - type: 'null'
                                resolutionOutcome:
                                  anyOf:
                                    - type: integer
                                      minimum: 1
                                      maximum: 3
                                    - type: 'null'
                                winningOutcome:
                                  anyOf:
                                    - type: integer
                                      minimum: 1
                                      maximum: 3
                                    - type: 'null'
                                finalOutcome:
                                  anyOf:
                                    - type: integer
                                      minimum: 1
                                      maximum: 3
                                    - type: 'null'
                                dispute:
                                  anyOf:
                                    - type: object
                                      properties:
                                        id:
                                          type: integer
                                          exclusiveMinimum: 0
                                          maximum: 9007199254740991
                                        status:
                                          type: string
                                          enum:
                                            - active
                                            - resolved
                                            - canceled
                                            - proposed
                                            - disputed
                                        phase:
                                          type: string
                                          enum:
                                            - waiting-for-snapshot
                                            - waiting-for-electorate
                                            - commit-open
                                            - reveal-open
                                            - awaiting-finalization
                                            - finalized
                                        voteRound:
                                          type: integer
                                          minimum: 0
                                          maximum: 9007199254740991
                                        challengerAddress:
                                          anyOf:
                                            - type: string
                                              minLength: 30
                                              maxLength: 80
                                              pattern: >-
                                                ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                                              description: >-
                                                Alephium address (base58, optional `:N`
                                                group suffix).
                                            - type: 'null'
                                        proposerAddress:
                                          anyOf:
                                            - type: string
                                              minLength: 30
                                              maxLength: 80
                                              pattern: >-
                                                ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                                              description: >-
                                                Alephium address (base58, optional `:N`
                                                group suffix).
                                            - type: 'null'
                                        disputeStartTimestamp:
                                          anyOf:
                                            - type: integer
                                              minimum: 0
                                              maximum: 9007199254740991
                                            - type: 'null'
                                        disputeEndTimestamp:
                                          anyOf:
                                            - type: integer
                                              minimum: 0
                                              maximum: 9007199254740991
                                            - type: 'null'
                                        commitEndTimestamp:
                                          anyOf:
                                            - type: integer
                                              minimum: 0
                                              maximum: 9007199254740991
                                            - type: 'null'
                                        revealEndTimestamp:
                                          anyOf:
                                            - type: integer
                                              minimum: 0
                                              maximum: 9007199254740991
                                            - type: 'null'
                                        disputeDeadline:
                                          anyOf:
                                            - type: integer
                                              minimum: 0
                                              maximum: 9007199254740991
                                            - type: 'null'
                                        penaltiesFinalized:
                                          type: boolean
                                        updatedAt:
                                          anyOf:
                                            - 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))$
                                            - type: 'null'
                                      required:
                                        - id
                                        - status
                                        - phase
                                        - voteRound
                                        - challengerAddress
                                        - proposerAddress
                                        - disputeStartTimestamp
                                        - disputeEndTimestamp
                                        - commitEndTimestamp
                                        - revealEndTimestamp
                                        - disputeDeadline
                                        - penaltiesFinalized
                                        - updatedAt
                                      additionalProperties: false
                                    - type: 'null'
                              required:
                                - proposedOutcome
                                - resolutionOutcome
                                - winningOutcome
                                - finalOutcome
                                - dispute
                              additionalProperties: false
                              description: >-
                                Public optimistic-oracle summary. Detailed
                                revealed votes remain available from the oracle
                                dispute endpoints.
                            timestamps:
                              type: object
                              properties:
                                deployedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                registeredAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                openedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                cutoffAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                proposedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                disputedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                resolvedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                recordedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                payoutsEnqueuedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                                archivedAt:
                                  anyOf:
                                    - 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))$
                                    - type: 'null'
                              required:
                                - deployedAt
                                - registeredAt
                                - openedAt
                                - cutoffAt
                                - proposedAt
                                - disputedAt
                                - resolvedAt
                                - recordedAt
                                - payoutsEnqueuedAt
                                - archivedAt
                              additionalProperties: false
                            freshness:
                              type: object
                              properties:
                                asOf:
                                  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))$
                                sources:
                                  type: object
                                  propertyNames:
                                    type: string
                                  additionalProperties:
                                    type: object
                                    properties:
                                      version:
                                        type: string
                                      eventKey:
                                        type: string
                                      observedAt:
                                        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))$
                                      projectedAt:
                                        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))$
                                      fresh:
                                        type: boolean
                                    required:
                                      - version
                                      - eventKey
                                      - observedAt
                                      - fresh
                                    additionalProperties: false
                              required:
                                - asOf
                                - sources
                              additionalProperties: false
                          required:
                            - marketId
                            - authority
                            - version
                            - stage
                            - deploymentStatus
                            - registrationStatus
                            - tradingStatus
                            - resolutionStatus
                            - settlementStatus
                            - pauseReasons
                            - pauseCauses
                            - oracleRound
                            - oracleGeneration
                            - claimableAt
                            - isClaimable
                            - resolution
                            - timestamps
                            - freshness
                          additionalProperties: false
                          description: >-
                            Durable post-confirmation multi-source projection.
                            The live sequencer remains authoritative for current
                            trading/breaker state; inspect freshness before
                            acting. Pre-deployment phases are exposed by
                            proposal drafts, unsigned transaction builds,
                            proposal processing, and transaction reconciliation
                            instead of fabricated market rows.
                      required:
                        - id
                        - marketAddress
                        - question
                        - category
                        - tags
                        - creator
                        - creatorAttribution
                        - consensusMarketType
                        - consensusMarketTypeHash
                        - resolved
                        - finalOutcome
                        - volume
                        - bestBidYes
                        - bestAskYes
                        - bestBidNo
                        - bestAskNo
                        - createdAt
                        - metadata
                        - tradingVenue
                        - lifecycle
                      additionalProperties: false
                  pagination:
                    type: object
                    properties:
                      page:
                        description: >-
                          Current page (offset mode only). Absent when
                          paginating with `cursor`.
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      limit:
                        type: integer
                        minimum: 1
                        maximum: 200
                        description: Page size requested.
                      total:
                        description: >-
                          Total matching rows across all pages (offset mode
                          only). Cursor mode omits for performance.
                        type: integer
                        minimum: 0
                        maximum: 9007199254740991
                      nextCursor:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: >-
                          Opaque cursor for the next page. `null` when this page
                          is the last one.
                    required:
                      - limit
                      - nextCursor
                    additionalProperties: false
                    description: >-
                      Pagination envelope returned alongside every list
                      endpoint.
                required:
                  - markets
                  - pagination
                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
        '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
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.

````