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

# Get the mint and burn history of a policy

> Every transaction that minted or burned any asset under the policy, newest first, each row naming the unit it applies to. A burn carries a negative quantity. Keyset-paged: pass the response's nextCursor back as the cursor parameter to continue. The cursor is opaque and endpoint-specific; do not construct or parse one. Served by YACI direct SQL with no provider fallback.



## OpenAPI

````yaml https://nexus.gerowallet.io/v3/api-docs get /api/policy/{policyId}/mints
openapi: 3.1.0
info:
  title: Nexus API
  description: >-
    Multi-chain blockchain data API for Cardano (and Apex), Bitcoin, and
    Midnight.


    ## Blockchains & Networks

    Endpoints are grouped by **blockchain**. Pick the target **network** with
    the

    `network` query parameter. A network is an environment *within* a
    blockchain,

    not a separate endpoint family.


    - **Cardano & Apex**: one shared set of UTxO endpoints serves
    `CARDANO_MAINNET`,
      `CARDANO_PREPROD`, `CARDANO_PREVIEW`, `APEX_PRIME_MAINNET`, `APEX_VECTOR_MAINNET`,
      `APEX_VECTOR_TESTNET`
    - **Bitcoin**: `BITCOIN_MAINNET`, `BITCOIN_TESTNET4`

    - **Midnight**: `MIDNIGHT_MAINNET`, `MIDNIGHT_PREPROD`, `MIDNIGHT_STAGENET`


    These are the values published on each operation's `network` schema, and
    what

    generated clients send. A kebab-case alias (`cardano-mainnet`) is also
    accepted,

    and matching is case-insensitive — see the note on the parameter itself.


    ### Key scope: one chain, one network

    Each API key is scoped to **one chain and one network**, fixed at creation
    time.

    A `CARDANO_MAINNET` key cannot query `CARDANO_PREPROD`, and it cannot query

    Bitcoin or Midnight at all. Create one key per chain and network under the
    same

    account. Sending a `network` value that does not match the key returns

    **400 Network Mismatch**; omit the parameter and the request runs against
    the

    key's own network.


    What is uniform across chains is the integration surface, not the
    credential:

    one account, one base URL, one auth header, one docs site.


    ## Authentication

    Send your API key in the `X-Api-Key` header. This is the credential for

    programmatic access (create one in the dashboard; keys start with `nxs_`).

    `Authorization: Bearer <token>` is only for JWT **session** tokens issued by

    `/api/auth/login` (browser/mobile apps), not for API keys.


    ## Add-ons

    Capability is gated separately from network scope. Market data, wallet
    analytics,

    transaction building, MCP, and IPFS are paid add-ons; those endpoints return

    **402 Payment Required** on a key whose plan does not carry the matching
    add-on,

    even when the chain and network match.
  contact:
    name: Nexus Team
    url: https://nexus.gerowallet.io/support
    email: nexus@gerowallet.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
  - url: https://nexus.gerowallet.io
    description: API Server
security:
  - apiKeyAuth: []
  - bearerAuth: []
tags:
  - name: Cardano · Blocks
    description: Cardano Block API
  - name: Cardano · Policy
    description: Cardano Policy API
  - name: IPFS
    description: IPFS Content Resolution API
  - name: Bitcoin · Ordinals
    description: Ordinals + runes metadata (ord indexer)
  - name: Partner
    description: Aggregator revenue share for partner key holders
  - name: Cardano · Metadata
    description: Label-scoped transaction metadata API
  - name: Cardano · Assets
    description: Token Registry Metadata
  - name: Cardano · Transactions
    description: Cardano Transactions API
  - name: Midnight · Transactions
    description: Midnight-specific transaction endpoints (unshielded UTXOs)
  - name: Bitcoin · Mempool
    description: Bitcoin mempool snapshot
  - name: Midnight · DUST
    description: DUST registration + generation status
  - name: Cardano · Stake Pools
    description: >-
      Cardano stake pool information including registrations, retirements, and
      pool metadata
  - name: Cardano · Network
    description: Cardano Network API - Query static network / genesis parameters
  - name: Cardano · Addresses
    description: Cardano Address API
  - name: Bitcoin · Addresses
    description: >-
      Bitcoin address-keyed queries: stats / balance / UTxOs via electrs;
      ordinals via ord
  - name: Bitcoin · Transactions
    description: Bitcoin transaction lookup and submission
  - name: Cardano · Governance
    description: >-
      Cardano on-chain governance: DReps, governance actions + votes,
      constitutional committee, constitution
  - name: Cardano · DReps
    description: >-
      Cardano delegate representatives (DReps): voting power, status, metadata,
      delegators
  - name: Cardano · Transaction Builder
    description: >-
      Cardano transaction building API. Builds unsigned transactions server-side
      for client-side signing and submission. Network can be specified in the
      request body or as a query parameter. Body takes precedence over query
      parameter.
  - name: Cardano · Assets
    description: Cardano Asset API
  - name: Cardano · Accounts
    description: Cardano Account API
  - name: Bitcoin · Fees
    description: Bitcoin fee-rate estimates by confirmation block target
  - name: Bitcoin · Blocks
    description: Bitcoin block lookup
  - name: Cardano · Handles
    description: ADA Handle resolution
  - name: Cardano Market Data
    description: Endpoints from cardano-market-data
  - name: Midnight · Indexer
    description: Transparent proxy to the Midnight GraphQL indexer
  - name: Cardano · Scripts
    description: Cardano script & datum API
  - name: Cardano · Epochs
    description: Cardano Epoch API - Query protocol parameters and epoch information
  - name: Bitcoin · Chain
    description: Bitcoin chain-tip and sync state
paths:
  /api/policy/{policyId}/mints:
    get:
      tags:
        - Cardano · Policy
      summary: Get the mint and burn history of a policy
      description: >-
        Every transaction that minted or burned any asset under the policy,
        newest first, each row naming the unit it applies to. A burn carries a
        negative quantity. Keyset-paged: pass the response's nextCursor back as
        the cursor parameter to continue. The cursor is opaque and
        endpoint-specific; do not construct or parse one. Served by YACI direct
        SQL with no provider fallback.
      operationId: getPolicyMints
      parameters:
        - name: network
          in: query
          required: false
          schema:
            type: string
            description: >-
              Accepts either the value listed here (`CARDANO_MAINNET`) or its
              kebab-case alias (`cardano-mainnet`); matching is
              case-insensitive. Omit it and the network is taken from the API
              key. A value that disagrees with the key's own network returns 400
              Network Mismatch.
            enum:
              - CARDANO_MAINNET
              - CARDANO_PREPROD
              - CARDANO_PREVIEW
              - APEX_PRIME_MAINNET
              - APEX_VECTOR_MAINNET
              - APEX_VECTOR_TESTNET
              - MIDNIGHT_MAINNET
              - MIDNIGHT_PREPROD
              - MIDNIGHT_STAGENET
              - BITCOIN_MAINNET
              - BITCOIN_TESTNET4
        - name: policyId
          in: path
          required: true
          schema:
            type: string
            pattern: ^[0-9a-fA-F]{56}$
        - name: cursor
          in: query
          description: Opaque cursor from a previous page's nextCursor
          required: false
          schema:
            type: string
            default: ''
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 50
            maximum: 200
            minimum: 1
      responses:
        '200':
          description: Mint history retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetMintPageDto'
                additionalProperties:
                  default: ''
                default: ''
        '400':
          description: Invalid policy id, limit, or cursor
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AssetMintPageDto'
        '501':
          description: No YACI datasource configured for the network
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/AssetMintPageDto'
components:
  schemas:
    AssetMintPageDto:
      type: object
      default: null
      description: Paged mint and burn history
      properties:
        data:
          type: array
          default: ''
          description: Mint and burn events, newest first
          items:
            $ref: '#/components/schemas/AssetMintDto'
        nextCursor:
          type: string
          default: ''
          description: >-
            Opaque cursor for the next page; absent when the history is
            exhausted
    AssetMintDto:
      type: object
      default: null
      description: A mint or burn event
      properties:
        action:
          type: string
          default: ''
          description: Whether the transaction increased or decreased supply
          enum:
            - MINT
            - BURN
          example: MINT
        quantity:
          type: string
          default: ''
          description: >-
            Signed change in supply. Positive for a mint, negative for a burn. A
            string to avoid precision loss on large supplies.
          example: '76715880000'
        unit:
          type: string
          default: ''
          description: Asset unit (policy id + hex asset name) the event applies to
          example: 279c909f348e533da5808898f87f9a14bb2c3dfbbacccd631d927a3f534e454b
        txHash:
          type: string
          default: ''
          description: Transaction carrying the mint or burn
          example: bda114e910c35292c8941a902b0d8854f1998f5c557b3f124ebf15e25d26fadf
        slot:
          type: integer
          format: int64
          default: ''
          description: Absolute slot of that transaction
          example: 90914122
        blockHeight:
          type: integer
          format: int64
          default: ''
          description: Height of the block containing the transaction
          example: 9384756
        blockTime:
          type: integer
          format: int64
          default: ''
          description: Unix time of that block, in seconds
          example: 1700000000
        epoch:
          type: integer
          format: int32
          default: ''
          description: Epoch of that block
          example: 450
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      description: >-
        ### API key (programmatic access — recommended)

        Send your API key in the `X-Api-Key` header. Keys start with `nxs_` and
        are

        created in the dashboard (or via **POST /api/keys** with a session JWT).


        Each key is scoped to **one chain and one network** (for example

        `CARDANO_MAINNET`), fixed at creation time. It cannot query a different
        network

        on the same chain, and it cannot query a different chain at all. A
        mismatched

        `network` parameter returns **400 Network Mismatch**. Create one key per
        chain

        and network under the same account.


        This is the credential most integrations should use.
      name: X-Api-Key
      in: header
    bearerAuth:
      type: http
      description: >-
        ### JWT session token (browser / mobile apps)

        A short-lived JWT issued by `/api/auth/login` or `/api/auth/device`,
        sent as

        `Authorization: Bearer <token>`. This is the **session** credential for
        the web

        dashboard and mobile apps, not for server-to-server API access.


        For programmatic API access use an **API key** in the `X-Api-Key` header

        instead — do **not** put an `nxs_` API key in this Bearer field.
      scheme: bearer
      bearerFormat: JWT

````