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

> Filter by `status`, `category`, `proposer`, or `activePeriodOnly=true`. Use `?sort=` to order by created-at, vote-count, or unique-voters. Cursor pagination via `?cursor=`; offset paging via `?page=` is supported but not recommended past page 100.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/voting/proposals
openapi: 3.1.0
info:
  title: Aura API
  description: >-
    Public REST API for Aura — prediction markets on Alephium.


    This API exposes everything a user can see or do in the app:

    markets, prices, orderbook, trades, vault state, oracle and

    governance, plus build-tx endpoints that return unsigned

    transactions for the client to sign with its own wallet.


    Interactive reference: https://docs.aurabets.io/api-reference/introduction


    ## Discovery


    Built for integrators, not for lazy implementers:


    - **Faceted lists** — every list endpoint accepts `?facets=true`
      and returns category / tag / 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=`, `?minVolume=` on `/v1/markets`. Tag matching is
      AND (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=` runs a strict tsquery first
      with a fuzzy trigram fallback when nothing matches; result type is
      a discriminated union so adding events / users later is non-breaking.
    - **Transparent trending** — `/v1/trending` returns the full
      algorithm + per-market component scores so the ranking is auditable.
    - **Categories + tags as first-class** — `/v1/categories` and
      `/v1/tags` enumerate the taxonomy with market counts.

    ## Authentication


    Most endpoints accept (and many require) an API key:


    ```

    Authorization: Bearer aura_live_<your-key>

    ```


    Mint a key by signing a one-time challenge with your Alephium wallet:


    ```

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

    POST /v1/auth/keys        { "address": "...", "publicKey": "...",
    "signature": "..." }

    ```


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

    write endpoints (`/v1/tx/*`) always require a key.


    ## Rate limits


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

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

    | Anonymous | 100000 per IP | 100000 per IP |

    | API key   | 100000 per key | 100000 per key |


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

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


    ## Write endpoints


    Aura is non-custodial — the API never holds private keys.

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

    that the caller must sign with its own wallet (passkey, mobile

    wallet, hardware wallet, etc.) and submit to an Alephium node.


    A typical "place order" flow:


    1. `POST /v1/tx/markets/{address}/orders` → 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.aurabets.io
servers:
  - url: /
    description: this server
security:
  - ApiKey: []
  - {}
tags:
  - name: Health
    description: Liveness + version info.
  - name: Auth
    description: Mint, list, and revoke API keys (wallet-signed).
  - 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: Prices
    description: Latest prices and historical price series.
  - name: Orders
    description: Build unsigned tx to place / cancel orders.
  - 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: Drafts
    description: Wallet-private market-proposal drafts (never on chain).
  - name: Users
    description: Wallet-scoped reads — profile, positions, orders, parlays.
  - name: Account actions
    description: Aggregated "what does this wallet need to do" views.
  - name: Leaderboard
    description: Top traders by composite score.
  - name: Faucet
    description: Testnet faucet (proxied to indexer).
externalDocs:
  description: Full Aura documentation (guides + interactive API reference)
  url: https://docs.aurabets.io
paths:
  /v1/voting/proposals:
    get:
      tags:
        - Voting
      summary: List governance proposals.
      description: >-
        Filter by `status`, `category`, `proposer`, or `activePeriodOnly=true`.
        Use `?sort=` to order by created-at, vote-count, or unique-voters.
        Cursor pagination via `?cursor=`; offset paging via `?page=` is
        supported but not recommended past page 100.
      parameters:
        - schema:
            default: pending
            type: string
            enum:
              - pending
              - accepted
              - rejected
              - all
          in: query
          name: status
          required: false
        - schema:
            type: string
            minLength: 1
            maxLength: 80
          in: query
          name: category
          required: false
        - schema:
            type: string
            minLength: 30
            maxLength: 80
            pattern: ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
          in: query
          name: proposer
          required: false
          description: Alephium address (base58, optional `:N` group suffix).
        - schema:
            default: false
            type: boolean
          in: query
          name: activePeriodOnly
          required: false
        - schema:
            default: created-at
            type: string
            enum:
              - created-at
              - vote-count
              - unique-voters
          in: query
          name: sort
          required: false
        - schema:
            default: desc
            type: string
            enum:
              - asc
              - desc
          in: query
          name: order
          required: false
        - schema:
            default: 50
            type: integer
            minimum: 1
            maximum: 200
          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
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  proposals:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                        question:
                          type: string
                        proposer:
                          type: string
                          minLength: 30
                          maxLength: 80
                          pattern: >-
                            ^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz:]+$
                          description: >-
                            Alephium address (base58, optional `:N` group
                            suffix).
                        status:
                          type: string
                          enum:
                            - pending
                            - accepted
                            - rejected
                        category:
                          type: string
                        rules:
                          anyOf:
                            - type: string
                            - type: 'null'
                        resolutionSources:
                          anyOf:
                            - type: string
                            - type: 'null'
                        imageUrl:
                          anyOf:
                            - type: string
                            - type: 'null'
                        voteCount:
                          type: string
                          description: >-
                            Sum of vote weights as string (preserves bigint
                            precision).
                        uniqueVoters:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                        isWinner:
                          anyOf:
                            - type: boolean
                            - type: 'null'
                        finalVoteCount:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        submissionTime:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                        createdAt:
                          anyOf:
                            - type: string
                            - type: 'null'
                        updatedAt:
                          anyOf:
                            - type: string
                            - type: 'null'
                        finalizedAt:
                          anyOf:
                            - type: string
                            - type: 'null'
                        rejectedAt:
                          anyOf:
                            - type: string
                            - type: 'null'
                        lastVoteAt:
                          anyOf:
                            - type: string
                            - type: 'null'
                        metadata:
                          anyOf:
                            - type: object
                              propertyNames:
                                type: string
                              additionalProperties: {}
                            - type: 'null'
                      required:
                        - id
                        - question
                        - proposer
                        - status
                        - category
                        - rules
                        - resolutionSources
                        - imageUrl
                        - voteCount
                        - uniqueVoters
                        - isWinner
                        - finalVoteCount
                        - submissionTime
                        - createdAt
                        - updatedAt
                        - finalizedAt
                        - rejectedAt
                        - lastVoteAt
                        - metadata
                      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:
                  - proposals
                  - 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.
                      details: {}
                    required:
                      - code
                      - message
                    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.
                      details: {}
                    required:
                      - code
                      - message
                    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.
                      details: {}
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: aura_live_<32 char secret>
      description: API key obtained from POST /v1/auth/keys.

````