TOP Group (The Open Platform) NFT API

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

Operations 8

GET /v2/accounts/{account_id}/nfts/history #
GET /v2/nfts/collections #
GET /v2/nfts/collections/{account_id} #
POST /v2/nfts/collections/_bulk #
GET /v2/nfts/collections/{account_id}/items #
POST /v2/nfts/_bulk #
GET /v2/nfts/{account_id} #
GET /v2/nfts/{account_id}/history #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/top-group-nft-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

top-group-nft-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: REST api to TON blockchain explorer 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:
    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'
    DepositXTRAction:
      type: object
      required:
      - recipient
      - amount
      properties:
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: string
          x-js-format: bigint
          example: '123000000000'
    DepositTokenStakeAction:
      type: object
      required:
      - staker
      - protocol
      properties:
        staker:
          $ref: '#/components/schemas/AccountAddress'
        protocol:
          $ref: '#/components/schemas/Protocol'
        stake_meta:
          $ref: '#/components/schemas/Price'
    NftOperations:
      type: object
      required:
      - operations
      properties:
        operations:
          type: array
          items:
            $ref: '#/components/schemas/NftOperation'
        next_from:
          type: integer
          format: int64
          example: 25713146000001
          x-js-format: bigint
    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'
    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
    AddExtensionAction:
      type: object
      required:
      - wallet
      - extension
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        extension:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
    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'
    Refund:
      type: object
      required:
      - type
      - origin
      properties:
        type:
          type: string
          example: DNS.ton
          enum:
          - DNS.ton
          - DNS.tg
          - GetGems
        origin:
          type: string
          example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf
    NftItems:
      type: object
      required:
      - nft_items
      properties:
        nft_items:
          type: array
          items:
            $ref: '#/components/schemas/NftItem'
    NftPurchaseAction:
      type: object
      required:
      - amount
      - seller
      - buyer
      - auction_type
      - nft
      properties:
        auction_type:
          type: string
          enum:
          - DNS.ton
          - DNS.tg
          - NUMBER.tg
          - getgems
        amount:
          $ref: '#/components/schemas/Price'
        nft:
          $ref: '#/components/schemas/NftItem'
        seller:
          $ref: '#/components/schemas/AccountAddress'
        buyer:
          $ref: '#/components/schemas/AccountAddress'
    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)
    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'
    CurrencyType:
      type: string
      example: jetton
      enum:
      - native
      - extra_currency
      - jetton
      - fiat
    NftApprovedBy:
      type: array
      items:
        type: string
        example: getgems
        enum:
        - getgems
        - tonkeeper
    NftOperation:
      type: object
      required:
      - operation
      - utime
      - lt
      - transaction_hash
      - item
      properties:
        operation:
          type: string
          example: transfer
        utime:
          type: integer
          format: int64
          example: 1234567890
        lt:
          type: integer
          format: int64
          example: 25713146000001
          x-js-format: bigint
        transaction_hash:
          type: string
          example: '0xdeadbeaf'
        source:
          $ref: '#/components/schemas/AccountAddress'
        destination:
          $ref: '#/components/schemas/AccountAddress'
        item:
          $ref: '#/components/schemas/NftItem'
    ElectionsRecoverStakeAction:
      type: object
      required:
      - amount
      - staker
      properties:
        amount:
          type: integer
          format: int64
          example: 1660050553
          x-js-format: bigint
        staker:
          $ref: '#/components/schemas/AccountAddress'
    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
    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'
    NftCollectionMetadataStatus:
      type: object
      properties:
        url:
          type: string
        is_broken:
          type: boolean
        last_refresh_try:
          type:
          - integer
          - 'null'
          format: int64
        last_refresh_success:
          type:
          - integer
          - 'null'
          format: int64
    JettonPreview:
      type: object
      required:
      - address
      - name
      - symbol
      - decimals
      - verification
      - image
      - score
      properties:
        address:
          type: string
          format: address
          example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0
        name:
          type: string
          example: Wrapped TON
        symbol:
          type: string
          example: WTON
        decimals:
          type: integer
          example: 9
        image:
          type: string
          example: https://cache.tonapi.io/images/jetton.jpg
        verification:
          $ref: '#/components/schemas/JettonVerificationType'
        custom_payload_api_uri:
          type: string
        score:
          type: integer
          format: int32
        scaled_ui:
          $ref: '#/components/schemas/ScaledUI'
        description:
          type: string
    BuyXTRAction:
      type: object
      required:
      - recipient
      - amount
      properties:
        recipient:
          $ref: '#/components/schemas/AccountAddress'
        amount:
          type: string
          x-js-format: bigint
          example: '123000000000'
    RemoveExtensionAction:
      type: object
      required:
      - wallet
      - extension
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        extension:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
    AccountEvent:
      type: object
      description: 'High-level view over a transaction trace caused by a single inbound message. TonAPI analyses the trace, detects known patterns and groups low-level transactions into user-facing actions (Jetton transfer, NFT purchase, etc.). Actions are a best-effort UI abstraction and may change; do not rely on them for protocol-critical logic.

        '
      required:
      - event_id
      - timestamp
      - actions
      - account
      - is_scam
      - lt
      - in_progress
      - extra
      - progress
      properties:
        event_id:
          type: string
          example: e8b0e3fee4a26bd2317ac1f9952fcdc87dc08fdb617656b5202416323337372e
        account:
          $ref: '#/components/schemas/AccountAddress'
        timestamp:
          type: integer
          format: int64
          example: 1234567890
        actions:
          type: array
          items:
            $ref: '#/components/schemas/Action'
        is_scam:
          type: boolean
          description: scam
          example: false
        lt:
          type: integer
          format: int64
          example: 25713146000001
          x-js-format: bigint
        in_progress:
          type: boolean
          example: false
          description: Event trace is not finished yet. Transactions still happening.
        extra:
          type: integer
          format: int64
          x-js-format: bigint
          example: 3
          description: 'Net Gram change for this account not explained by actions, in nanograms: extra = final_balance - initial_balance - sum(explicit Gram changes from actions). extra < 0 - implicit fee, extra > 0 - refund. For UI display only

            '
        progress:
          type: number
          format: float
          minimum: 0
          maximum: 1
          example: 0.5
          description: Event completion ratio in [0,1]
        ext_msg_hash:
          type: string
          description: Normalized hash of the root external inbound message (hex).
          example: a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456
    SetSignatureAllowedAction:
      type: object
      required:
      - wallet
      - allowed
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        allowed:
          type: boolean
    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
    PoolImplementationType:
      type: string
      enum:
      - whales
      - tf
      - liquidTF
      - ffvault
    UnSubscriptionAction:
      type: object
      required:
      - subscriber
      - subscription
      - beneficiary
      - admin
      properties:
        subscriber:
          $ref: '#/components/schemas/AccountAddress'
        subscription:
          type: string
          format: address
          example: 0:da6b1b6663a0e4d18cc8574ccd9db5296e367dd9324706f3bbd9eb1cd2caf0bf
        beneficiary:
          $ref: '#/components/schemas/AccountAddress'
        admin:
          $ref: '#/components/schemas/AccountAddress'
    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
    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
    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'
    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
    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
    Metadata:
      type: object
      required:
      - encrypted_binary
      properties:
        encrypted_binary:
          type: string
          description: hex encoded bytes
        decryption_key:
          type: string
          description: hex encoded bytes
          example: dead.....beef
    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'
    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'
    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'
    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'
    ElectionsDepositStakeAction:
      type: object
      required:
      - amount
      - staker
      properties:
        amount:
          type: integer
          format: int64
          example: 1660050553
          x-js-format: bigint
        staker:
          $ref: '#/components/schemas/AccountAddress'
    AccountAddress:
      type: object
      required:
      - address
      - is_scam
      - is_wallet
      properties:
        address:
          type: string
          format: maybe-address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
        name:
          type: string
          example: Ton foundation
          description: Display name. Data collected from different sources like moderation lists, dns, collections names and over.
        is_scam:
          type: boolean
          example: true
          description: Is this account was marked as part of scammers activity
        icon:
          type: string
          example: https://ton.org/logo.png
        is_wallet:
          type: boolean
          example: true
    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
      

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