TOP Group (The Open Platform) NFT API

The NFT API from TOP Group (The Open Platform) — 8 operation(s) for nft.

OpenAPI Specification

top-group-nft-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: REST api to TON blockchain explorer Accounts NFT API
  version: 2.0.0
  description: Provide access to indexed TON blockchain
  contact:
    name: Support
    email: support@tonkeeper.com
servers:
- url: https://tonapi.io
- url: https://testnet.tonapi.io
- url: http://localhost:8081
tags:
- name: NFT
  externalDocs:
    description: Additional documentation
    url: https://docs.tonconsole.com/tonapi/rest-api/nft
paths:
  /v2/accounts/{account_id}/nfts/history:
    get:
      description: Get the transfer nft history
      operationId: getAccountNftHistory
      tags:
      - NFT
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/i18n'
      - name: before_lt
        in: query
        description: omit this parameter to get last events
        required: false
        schema:
          type: integer
          format: int64
          example: 25758317000002
          x-js-format: bigint
      - name: limit
        in: query
        required: true
        schema:
          type: integer
          example: 100
          maximum: 1000
          minimum: 1
      responses:
        '200':
          description: nft history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftOperations'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/collections:
    get:
      description: Get NFT collections
      operationId: getNftCollections
      tags:
      - NFT
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          format: int32
          maximum: 1000
          default: 100
          example: 15
          minimum: 1
      - name: offset
        in: query
        schema:
          type: integer
          format: int32
          default: 0
          example: 10
          minimum: 0
      responses:
        '200':
          description: nft collections
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftCollections'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/collections/{account_id}:
    get:
      description: Get NFT collection by collection address
      operationId: getNftCollection
      tags:
      - NFT
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      responses:
        '200':
          description: nft collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftCollection'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/collections/_bulk:
    post:
      description: Get NFT collection items by their addresses
      operationId: getNftCollectionItemsByAddresses
      tags:
      - NFT
      requestBody:
        $ref: '#/components/requestBodies/AccountIDs'
      responses:
        '200':
          description: nft collections
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftCollections'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/collections/{account_id}/items:
    get:
      description: Get NFT items from collection by collection address
      operationId: getItemsFromCollection
      tags:
      - NFT
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/limitQuery'
      - $ref: '#/components/parameters/offsetQuery'
      responses:
        '200':
          description: nft items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftItems'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/_bulk:
    post:
      description: Get NFT items by their addresses
      operationId: getNftItemsByAddresses
      tags:
      - NFT
      requestBody:
        $ref: '#/components/requestBodies/AccountIDs'
      responses:
        '200':
          description: nft items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftItems'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/{account_id}:
    get:
      description: Get NFT item by its address
      operationId: getNftItemByAddress
      tags:
      - NFT
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      responses:
        '200':
          description: nft item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NftItem'
        default:
          $ref: '#/components/responses/Error'
  /v2/nfts/{account_id}/history:
    get:
      deprecated: true
      description: Please use `getAccountNftHistory`` instead
      operationId: getNftHistoryByID
      tags:
      - NFT
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/i18n'
      - name: before_lt
        in: query
        description: omit this parameter to get last events
        required: false
        schema:
          type: integer
          format: int64
          example: 25758317000002
          x-js-format: bigint
      - name: limit
        in: query
        required: true
        schema:
          type: integer
          example: 100
          maximum: 1000
          minimum: 1
      - name: start_date
        in: query
        required: false
        schema:
          type: integer
          format: int64
          maximum: 2114380800
          example: 1668436763
      - name: end_date
        in: query
        required: false
        schema:
          type: integer
          format: int64
          maximum: 2114380800
          example: 1668436763
      responses:
        '200':
          description: nft history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountEvents'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    PoolImplementationType:
      type: string
      enum:
      - whales
      - tf
      - liquidTF
      - ffvault
    ContractDeployAction:
      type: object
      required:
      - address
      - interfaces
      properties:
        address:
          type: string
          format: address
          example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf
        interfaces:
          type: array
          items:
            type: string
          example:
          - nft_item
          - nft_royalty
    Price:
      type: object
      required:
      - currency_type
      - value
      - decimals
      - token_name
      - verification
      - image
      properties:
        currency_type:
          $ref: '#/components/schemas/CurrencyType'
        value:
          type: string
          x-js-format: bigint
          example: '123000000000'
        decimals:
          type: integer
          example: 9
        token_name:
          type: string
          example: Gram
        verification:
          $ref: '#/components/schemas/TrustType'
        image:
          type: string
          example: https://cache.tonapi.io/images/jetton.jpg
        jetton:
          type: string
          format: address
          example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0
    GasRelayAction:
      type: object
      required:
      - amount
      - relayer
      - target
      properties:
        amount:
          type: integer
          format: int64
          x-js-format: bigint
          example: 1000000000
        relayer:
          $ref: '#/components/schemas/AccountAddress'
        target:
          $ref: '#/components/schemas/AccountAddress'
    WithdrawXTRAction:
      type: object
      required:
      - user
      - amount
      properties:
        user:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: string
          x-js-format: bigint
          example: '123000000000'
    WithdrawStakeRequestAction:
      description: validator's participation in elections
      type: object
      required:
      - staker
      - pool
      - implementation
      properties:
        amount:
          type: integer
          format: int64
          example: 1660050553
          x-js-format: bigint
        staker:
          $ref: '#/components/schemas/AccountAddress'
        pool:
          $ref: '#/components/schemas/AccountAddress'
        implementation:
          $ref: '#/components/schemas/PoolImplementationType'
        stake_meta:
          description: If present, should be used instead of amount
          $ref: '#/components/schemas/Price'
    JettonTransferAction:
      type: object
      required:
      - amount
      - jetton
      - senders_wallet
      - recipients_wallet
      properties:
        sender:
          $ref: '#/components/schemas/AccountAddress'
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        senders_wallet:
          type: string
          format: address
          example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
        recipients_wallet:
          type: string
          format: address
          example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
        amount:
          type: string
          x-js-format: bigint
          example: '1000000000'
          description: amount in quanta of tokens
        comment:
          type: string
          example: "Hi! This is your salary. \nFrom accounting with love."
        encrypted_comment:
          $ref: '#/components/schemas/EncryptedComment'
        refund:
          $ref: '#/components/schemas/Refund'
        jetton:
          $ref: '#/components/schemas/JettonPreview'
    JettonSwapAction:
      type: object
      required:
      - dex
      - amount_in
      - amount_out
      - user_wallet
      - router
      properties:
        dex:
          type: string
          example: stonfi
        amount_in:
          type: string
          x-js-format: bigint
          example: '1660050553'
        amount_out:
          type: string
          x-js-format: bigint
          example: '1660050553'
        ton_in:
          type: integer
          example: 1000000000
          format: int64
          x-js-format: bigint
          deprecated: true
          description: this field will gone after Sept. 2026, use gram_in instead
        ton_out:
          type: integer
          example: 2000000000
          format: int64
          x-js-format: bigint
          deprecated: true
          description: this field will gone after Sept. 2026, use gram_out instead
        gram_in:
          type: integer
          example: 1000000000
          format: int64
          x-js-format: bigint
        gram_out:
          type: integer
          example: 2000000000
          format: int64
          x-js-format: bigint
        user_wallet:
          $ref: '#/components/schemas/AccountAddress'
        router:
          $ref: '#/components/schemas/AccountAddress'
        jetton_master_in:
          $ref: '#/components/schemas/JettonPreview'
        jetton_master_out:
          $ref: '#/components/schemas/JettonPreview'
    SmartContractAction:
      type: object
      required:
      - executor
      - contract
      - gram_attached
      - operation
      properties:
        executor:
          $ref: '#/components/schemas/AccountAddress'
        contract:
          $ref: '#/components/schemas/AccountAddress'
        ton_attached:
          type: integer
          description: amount in nanograms
          format: int64
          example: 123456789
          x-js-format: bigint
          deprecated: true
        gram_attached:
          type: integer
          description: amount in nanograms
          format: int64
          example: 123456789
          x-js-format: bigint
        operation:
          type: string
          example: NftTransfer or 0x35d95a12
        payload:
          type: string
        refund:
          $ref: '#/components/schemas/Refund'
    TonTransferAction:
      type: object
      required:
      - sender
      - recipient
      - amount
      properties:
        sender:
          $ref: '#/components/schemas/AccountAddress'
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: integer
          description: amount in nanograms
          format: int64
          example: 123456789
          x-js-format: bigint
        comment:
          type: string
          example: "Hi! This is your salary. \nFrom accounting with love."
        encrypted_comment:
          $ref: '#/components/schemas/EncryptedComment'
        refund:
          $ref: '#/components/schemas/Refund'
    VaultDepositInfo:
      type: object
      required:
      - price
      - vault
      properties:
        price:
          $ref: '#/components/schemas/Price'
        vault:
          type: string
          format: address
          example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0
    InsufficientFunds:
      type: object
      description: 'Present on an error when a request failed because the source wallet does not hold enough TON to cover the required gas (error_code 50000).

        '
      required:
      - required
      - available
      properties:
        required:
          type: integer
          format: int64
          description: TON in nanotons required to cover transfer gas
          x-js-format: bigint
        available:
          type: integer
          format: int64
          description: TON in nanotons currently available on the source wallet
          x-js-format: bigint
    SubscriptionAction:
      type: object
      required:
      - subscriber
      - subscription
      - beneficiary
      - admin
      - price
      - initial
      properties:
        subscriber:
          $ref: '#/components/schemas/AccountAddress'
        subscription:
          type: string
          format: address
          example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf
        beneficiary:
          $ref: '#/components/schemas/AccountAddress'
        admin:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          deprecated: true
          type: integer
          format: int64
          example: 1000000000
          x-js-format: bigint
        price:
          $ref: '#/components/schemas/Price'
        initial:
          type: boolean
          example: false
    NftApprovedBy:
      type: array
      items:
        type: string
        example: getgems
        enum:
        - getgems
        - tonkeeper
    DomainRenewAction:
      type: object
      required:
      - domain
      - contract_address
      - renewer
      properties:
        domain:
          type: string
          example: vasya.ton
        contract_address:
          type: string
          format: address
          example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf
        renewer:
          $ref: '#/components/schemas/AccountAddress'
    WithdrawStakeAction:
      description: validator's participation in elections
      type: object
      required:
      - amount
      - staker
      - pool
      - implementation
      properties:
        amount:
          type: integer
          format: int64
          example: 1660050553
          x-js-format: bigint
        staker:
          $ref: '#/components/schemas/AccountAddress'
        pool:
          $ref: '#/components/schemas/AccountAddress'
        implementation:
          $ref: '#/components/schemas/PoolImplementationType'
    PurchaseAction:
      type: object
      required:
      - source
      - destination
      - invoice_id
      - amount
      - metadata
      properties:
        source:
          $ref: '#/components/schemas/AccountAddress'
        destination:
          $ref: '#/components/schemas/AccountAddress'
        invoice_id:
          type: string
          example: 03cfc582-b1c3-410a-a9a7-1f3afe326b3b
        amount:
          $ref: '#/components/schemas/Price'
        metadata:
          $ref: '#/components/schemas/Metadata'
    Action:
      type: object
      required:
      - type
      - status
      - simple_preview
      - base_transactions
      properties:
        type:
          type: string
          example: TonTransfer
          enum:
          - TonTransfer
          - ExtraCurrencyTransfer
          - ContractDeploy
          - JettonTransfer
          - FlawedJettonTransfer
          - JettonBurn
          - JettonMint
          - NftItemTransfer
          - Subscribe
          - UnSubscribe
          - AuctionBid
          - NftPurchase
          - DepositStake
          - WithdrawStake
          - WithdrawStakeRequest
          - ElectionsDepositStake
          - ElectionsRecoverStake
          - JettonSwap
          - SmartContractExec
          - DomainRenew
          - Purchase
          - AddExtension
          - RemoveExtension
          - SetSignatureAllowedAction
          - GasRelay
          - DepositTokenStake
          - WithdrawTokenStakeRequest
          - LiquidityDeposit
          - OracleRequest
          - BuyXTR
          - DepositXTR
          - WithdrawXTR
          - Unknown
        status:
          type: string
          example: ok
          enum:
          - ok
          - failed
        TonTransfer:
          $ref: '#/components/schemas/TonTransferAction'
        ExtraCurrencyTransfer:
          $ref: '#/components/schemas/ExtraCurrencyTransferAction'
        ContractDeploy:
          $ref: '#/components/schemas/ContractDeployAction'
        JettonTransfer:
          $ref: '#/components/schemas/JettonTransferAction'
        FlawedJettonTransfer:
          $ref: '#/components/schemas/FlawedJettonTransferAction'
        JettonBurn:
          $ref: '#/components/schemas/JettonBurnAction'
        JettonMint:
          $ref: '#/components/schemas/JettonMintAction'
        NftItemTransfer:
          $ref: '#/components/schemas/NftItemTransferAction'
        Subscribe:
          $ref: '#/components/schemas/SubscriptionAction'
        UnSubscribe:
          $ref: '#/components/schemas/UnSubscriptionAction'
        AuctionBid:
          $ref: '#/components/schemas/AuctionBidAction'
        NftPurchase:
          $ref: '#/components/schemas/NftPurchaseAction'
        DepositStake:
          $ref: '#/components/schemas/DepositStakeAction'
        WithdrawStake:
          $ref: '#/components/schemas/WithdrawStakeAction'
        WithdrawStakeRequest:
          $ref: '#/components/schemas/WithdrawStakeRequestAction'
        ElectionsDepositStake:
          $ref: '#/components/schemas/ElectionsDepositStakeAction'
        ElectionsRecoverStake:
          $ref: '#/components/schemas/ElectionsRecoverStakeAction'
        JettonSwap:
          $ref: '#/components/schemas/JettonSwapAction'
        SmartContractExec:
          $ref: '#/components/schemas/SmartContractAction'
        DomainRenew:
          $ref: '#/components/schemas/DomainRenewAction'
        Purchase:
          $ref: '#/components/schemas/PurchaseAction'
        AddExtension:
          $ref: '#/components/schemas/AddExtensionAction'
        RemoveExtension:
          $ref: '#/components/schemas/RemoveExtensionAction'
        SetSignatureAllowedAction:
          $ref: '#/components/schemas/SetSignatureAllowedAction'
        GasRelay:
          $ref: '#/components/schemas/GasRelayAction'
        DepositTokenStake:
          $ref: '#/components/schemas/DepositTokenStakeAction'
        WithdrawTokenStakeRequest:
          $ref: '#/components/schemas/WithdrawTokenStakeRequestAction'
        LiquidityDeposit:
          $ref: '#/components/schemas/LiquidityDepositAction'
        OracleRequest:
          $ref: '#/components/schemas/OracleRequestAction'
        WithdrawXTR:
          $ref: '#/components/schemas/WithdrawXTRAction'
        DepositXTR:
          $ref: '#/components/schemas/DepositXTRAction'
        BuyXTR:
          $ref: '#/components/schemas/BuyXTRAction'
        simple_preview:
          $ref: '#/components/schemas/ActionSimplePreview'
        base_transactions:
          type: array
          items:
            type: string
            description: transaction hash
            example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e
    EncryptedComment:
      type: object
      required:
      - encryption_type
      - cipher_text
      properties:
        encryption_type:
          type: string
          example: simple
        cipher_text:
          type: string
          example: A6A0BD6608672B...CE3AF8DB
    ScaledUI:
      type: object
      required:
      - numerator
      - denominator
      properties:
        numerator:
          type: string
          x-js-format: bigint
          example: '597968399'
        denominator:
          type: string
          x-js-format: bigint
          example: '597968399'
    DepositXTRAction:
      type: object
      required:
      - recipient
      - amount
      properties:
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: string
          x-js-format: bigint
          example: '123000000000'
    JettonBurnAction:
      type: object
      required:
      - amount
      - jetton
      - sender
      - senders_wallet
      properties:
        sender:
          $ref: '#/components/schemas/AccountAddress'
        senders_wallet:
          type: string
          format: address
          example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
        amount:
          type: string
          x-js-format: bigint
          example: '1000000000'
          description: amount in quanta of tokens
        jetton:
          $ref: '#/components/schemas/JettonPreview'
    NftCollections:
      type: object
      required:
      - nft_collections
      properties:
        nft_collections:
          type: array
          items:
            $ref: '#/components/schemas/NftCollection'
    Protocol:
      type: object
      required:
      - name
      properties:
        name:
          type: string
          example: Ethena
        image:
          type: string
          example: https://cache.tonapi.io/images/jetton.jpg
    Sale:
      type: object
      required:
      - address
      - market
      - price
      properties:
        address:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
        market:
          $ref: '#/components/schemas/AccountAddress'
        owner:
          $ref: '#/components/schemas/AccountAddress'
        price:
          $ref: '#/components/schemas/Price'
    AddExtensionAction:
      type: object
      required:
      - wallet
      - extension
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        extension:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
    ExtraCurrencyTransferAction:
      type: object
      required:
      - sender
      - recipient
      - amount
      - currency
      properties:
        sender:
          $ref: '#/components/schemas/AccountAddress'
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: string
          x-js-format: bigint
          example: '1000000000'
          description: amount in quanta of tokens
        comment:
          type: string
          example: "Hi! This is your salary. \nFrom accounting with love."
        encrypted_comment:
          $ref: '#/components/schemas/EncryptedComment'
        currency:
          $ref: '#/components/schemas/EcPreview'
    OraclePriceFeed:
      type: object
      required:
      - id
      - display_symbol
      properties:
        id:
          type: string
          example: e62df6c8b4a85fe1a67f1c4d1f1e1d4335c04d1d7e2c50e0d7da7ad911f2d4
        display_symbol:
          type: string
          example: GRAM/USD
        rate:
          type: number
          format: double
          example: 5.24
    NftItem:
      type: object
      required:
      - address
      - index
      - verified
      - metadata
      - approved_by
      - trust
      properties:
        address:
          type: string
          format: address
          example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
        index:
          type: integer
          format: int64
          example: 58
        owner:
          $ref: '#/components/schemas/AccountAddress'
        collection:
          type: object
          required:
          - address
          - name
          - description
          properties:
            address:
              type: string
              format: address
              example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
            name:
              type: string
              example: TON Diamonds
            description:
              type: string
              example: Best collection in TON network
        verified:
          type: boolean
          description: Collection master contract confirmed that this item is part of collection
          example: true
        metadata:
          type: object
          additionalProperties: true
          example: {}
        sale:
          $ref: '#/components/schemas/Sale'
        previews:
          type: array
          items:
            $ref: '#/components/schemas/ImagePreview'
        dns:
          type: string
          example: crypto.ton
        approved_by:
          allOf:
          - $ref: '#/components/schemas/NftApprovedBy'
          deprecated: true
          description: Please use trust field
        include_cnft:
          type: boolean
          example: false
        trust:
          $ref: '#/components/schemas/TrustType'
        code_hash:
          type: string
          description: Hash of the NFT item account code cell (hex)
        data_hash:
          type: string
          description: Hash of the NFT item account data cell (hex)
    ActionSimplePreview:
      type: object
      description: shortly describes what this action is about.
      required:
      - name
      - description
      - accounts
      properties:
        name:
          type: string
          example: Gram Transfer
        description:
          type: string
          example: Transferring 5 Gram
        action_image:
          type: string
          description: a link to an image for this particular action.
        value:
          type: string
          example: 5 Gram
        fiat_value:
          type: string
          description: the value of this action expressed in the requested fiat currency.
          example: 4.99 USD
        value_image:
          type: string
          description: a link to an image that depicts this action's asset.
        accounts:
          type: array
          items:
            $ref: '#/components/schemas/AccountAddress'
    LiquidityDepositAction:
      type: object
      required:
      - protocol
      - from
      - tokens
      properties:
        protocol:
          $ref: '#/components/schemas/Protocol'
        from:
          $ref: '#/components/schemas/AccountAddress'
        tokens:
          type: array
          items:
            $ref: '#/components/schemas/VaultDepositInfo'
    DepositStakeAction:
      description: validator's participation in elections
      type: object
      required:
      - amount
      - staker
      - pool
      - implementation
      properties:
        amount:
          type: integer
          format: int64
          x-js-format: bigint
          example: 1660050553
        staker:
          $ref: '#/components/schemas/AccountAddress'
        pool:
          $ref: '#/components/schemas/AccountAddress'
        implementation:
          $ref: '#/components/schemas/PoolImplementationType'
        stake_meta:
          description: If present, should be used instead of amount
          $ref: '#/components/schemas/Price'
    EcPreview:
      type: object
      required:
      - id
      - symbol
      - decimals
      - image
      properties:
        id:
          type: integer
          example: 239
          format: int32
        symbol:
          type: string
          example: FMS
        decimals:
          type: integer
          example: 5
        image:
          type: string
          example: https://cache.tonapi.io/images/extra.jpg
    JettonVerificationType:
      type: string
      enum:
      - whitelist
      - graylist
      - blacklist
      - none
    NftItems:
      type: object
      required:
      - nft_items
      properties:
        nft_items:
          type: array
          items:
            $ref: '#/components/schemas/NftItem'
    RemoveExtensionAction:
      type: object
      required:
      - wallet
      - extension
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        extension:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
    AuctionBidAction:
      type: object
      required:
      - amount
      - bidder
      - auction
      - auction_type
      properties:
        auction_type:
          type: string
          enum:
          - DNS.ton
          - DNS.tg
          - NUMBER.tg
          - getgems
        amount:
          $ref: '#/components/schemas/Price'
        nft:
          $ref: '#/components/schemas/NftItem'
        bidder:
          $ref: '#/components/schemas/AccountAddress'
        auction:
          $ref: '#/components/schemas/AccountAddress'
    JettonMintAction:
      type: object
      required:
      - amount
      - jetton
      - recipient
      - recipients_wallet
      properties:
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        recipients_wallet:
          type: string
          format: address
          example: 0:E93E7D444180608B8520C00DC664383A387356FB6E16FDDF99DBE5E1415A574B
        amount:
          type: string
          x-js-format: bigint
          example: '1000000000'
          description: amount in quanta of tokens
        jetton:
          $ref: '#/components/schemas/JettonPreview'
    NftCollection:
      type: object
      required:
      - address
      - next_item_index
      - raw_collection_content
      - approved_by
      - trust
      properties:
        address:
          type: string
          format: address
          example: 0:FD595F36B4C1535BEC8461490D38EBB9AE3C38DD6ACE17CA63ABE2C6608BE159
        next_item_index:
          type: integer
          format: int64
          example: 1
        owner:
          $ref: '#/components/schemas/AccountAddress'
        raw_collection_content:
          type: string
          format: cell
        metadata:
          type: object
          additionalProperties: true
          example: {}
        previews:
          type: array
          items:
            $ref: '#/components/schemas/ImagePreview'
        approved_by:
          $ref: '#/components/schemas/NftApprovedBy'
        trust:
          $ref: '#/components/schemas/TrustType'
        metadata_status:
          $ref: '#/components/schemas/NftCollectionMetadataStatus'
    CurrencyType:
      type: string
      example: jetton
      enum:
      - native
      - extra_currency
      - jetton
      - fiat
    TrustType:
      type: string
      example: whitelist
      enum:
      - whitelist
      - graylist
      - blacklist
      - none
    NftItemTransferAction:
      type: object
      required:
      - nft
      properties:
        sender:
          $ref: '#/components/schemas/AccountAddress'
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        nft:
          type: string
          format: maybe-address
          example: ''
        comment:
          type: string
          example: "Hi! This is your salary. \nFrom accounting with love."
        encrypted_comment:
          $ref: '#/components/schemas/EncryptedComment'
        payload:
          type: string
          description: raw hex encoded payload
          example: 0234de3e21d21b3ee21f3
        refund:
          $ref: '#/components/schemas/Refund'
    AccountEvents:
      type: object
      description: Paginated list of events for a single account.
      required:
      - events
      - next_from
      p

# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/top-group/refs/heads/main/openapi/top-group-nft-api-openapi.yml