TOP Group (The Open Platform) Jettons API

The Jettons API from TOP Group (The Open Platform) — 6 operation(s) for jettons.

OpenAPI Specification

top-group-jettons-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: REST api to TON blockchain explorer Accounts Jettons 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: Jettons
  externalDocs:
    description: Additional documentation
    url: https://docs.tonconsole.com/tonapi/rest-api/jettons
paths:
  /v2/jettons:
    get:
      description: Get a list of all indexed jetton masters in the blockchain.
      operationId: getJettons
      tags:
      - Jettons
      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: a list of jettons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Jettons'
        default:
          $ref: '#/components/responses/Error'
  /v2/jettons/{account_id}:
    get:
      description: Get jetton metadata by jetton master address
      operationId: getJettonInfo
      tags:
      - Jettons
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      responses:
        '200':
          description: jetton info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JettonInfo'
        default:
          $ref: '#/components/responses/Error'
  /v2/jettons/_bulk:
    post:
      description: Get jetton metadata items by jetton master addresses
      operationId: getJettonInfosByAddresses
      tags:
      - Jettons
      requestBody:
        $ref: '#/components/requestBodies/AccountIDs'
      responses:
        '200':
          description: a list of jettons
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Jettons'
        default:
          $ref: '#/components/responses/Error'
  /v2/jettons/{account_id}/holders:
    get:
      description: Get jetton's holders
      operationId: getJettonHolders
      tags:
      - Jettons
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/limitQuery'
      - in: query
        name: offset
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
          maximum: 9000
      responses:
        '200':
          description: jetton's holders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JettonHolders'
        default:
          $ref: '#/components/responses/Error'
  /v2/jettons/{jetton_id}/transfer/{account_id}/payload:
    get:
      description: Get jetton's custom payload and state init required for transfer
      operationId: getJettonTransferPayload
      tags:
      - Jettons
      parameters:
      - $ref: '#/components/parameters/accountIDParameter'
      - $ref: '#/components/parameters/jettonIDParameter'
      responses:
        '200':
          description: jetton's custom payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JettonTransferPayload'
        default:
          $ref: '#/components/responses/Error'
  /v2/events/{event_id}/jettons:
    get:
      description: Get only jetton transfers in the event
      operationId: getJettonsEvents
      tags:
      - Jettons
      parameters:
      - $ref: '#/components/parameters/eventIDParameter'
      - $ref: '#/components/parameters/i18n'
      responses:
        '200':
          description: events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Event'
        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'
    Jettons:
      type: object
      required:
      - jettons
      properties:
        jettons:
          type: array
          items:
            $ref: '#/components/schemas/JettonInfo'
    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'
    JettonMetadata:
      type: object
      required:
      - address
      - name
      - symbol
      - decimals
      properties:
        address:
          type: string
          format: address
          example: 0:0BB5A9F69043EEBDDA5AD2E946EB953242BD8F603FE795D90698CEEC6BFC60A0
        name:
          type: string
          example: Wrapped TON
        symbol:
          type: string
          example: WTON
        decimals:
          type: string
          example: '9'
        image:
          type: string
          example: https://bitcoincash-example.github.io/website/logo.png
          description: this field currently returns a cached image URL (e.g., "https://cache.tonapi.io/images/jetton.jpg"). In the future, this will be replaced with the original URL from the metadata. The cached image is already available in the `preview` field of `JettonInfo` and will remain there.
        description:
          type: string
          example: Wrapped Gram
        social:
          type: array
          items:
            type: string
            example:
            - https://t.me/durov_coin
            - https://twitter.com/durov_coin
        websites:
          type: array
          items:
            type: string
            example:
            - https://durov.coin
            - ton://durov-coin.ton
        catalogs:
          type: array
          items:
            type: string
            example:
            - https://coinmarketcap.com/currencies/drv/
            - https://www.coingecko.com/en/coins/durov
        custom_payload_api_uri:
          type: string
          example: https://claim-api.tonapi.io/jettons/TESTMINT
    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'
    JettonInfo:
      type: object
      required:
      - mintable
      - total_supply
      - metadata
      - verification
      - holders_count
      - preview
      properties:
        mintable:
          type: boolean
          example: true
        total_supply:
          type: string
          x-js-format: bigint
          example: '5887105890579978'
        admin:
          $ref: '#/components/schemas/AccountAddress'
        metadata:
          $ref: '#/components/schemas/JettonMetadata'
        preview:
          type: string
          example: https://cache.tonapi.io/images/jetton.jpg
        verification:
          $ref: '#/components/schemas/JettonVerificationType'
        holders_count:
          type: integer
          format: int32
          example: 2000
        scaled_ui:
          $ref: '#/components/schemas/ScaledUI'
        code_hash:
          type: string
          description: base64-encoded hash of jetton master code cell
          example: rOIINk/O5kGub/FI/RARmMN6SY7BLesBSOonmxrz5f4=
        data_hash:
          type: string
          description: base64-encoded hash of jetton master data cell
          example: xd7cWaRQdVSysuG+WVJv9KRuRUGxnehLoByEcK5ukOE=
        last_transaction_lt:
          type: string
          x-js-format: bigint
          description: last transaction lt of the jetton master account
          example: '26640202000003'
        name:
          type: string
          nullable: true
          description: DNS name resolving to this address (e.g. admin.ton)
          example: admin.ton
        interfaces:
          type: array
          items:
            type: string
          description: Contract interfaces implemented by the account (e.g. multisig_v2, wallet_v3r2)
          example:
          - multisig_v2
          - wallet_v3r2
    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'
    JettonTransferPayload:
      type: object
      required:
      - payload
      properties:
        custom_payload:
          type: string
          example: b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d
          description: hex-encoded BoC
        state_init:
          type: string
          example: b5ee9c72410212010001b40009460395b521c9251151ae7987e03c544bd275d6cd42c2d157f840beb14d5454b96718000d012205817002020328480101fd7f6a648d4f771d7f0abc1707e4e806b19de1801f65eb8c133a4cfb0c33d847000b22012004052848010147da975b922d89192f4c9b68a640daa6764ec398c93cec025e17f0c1852a711a0009220120061122012007082848010170d9fb0423cbef6c2cf1f3811a2f640daf8c9a326b6f8816c1b993e90d88e2100006220120090a28480101f6df1d75f6b9e45f224b2cb4fc2286d927d47b468b6dbf1fedc4316290ec2ae900042201200b102201200c0f2201200d
          description: hex-encoded BoC
    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
    RemoveExtensionAction:
      type: object
      required:
      - wallet
      - extension
      properties:
        wallet:
          $ref: '#/components/schemas/AccountAddress'
        extension:
          type: string
          format: address
          example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
    JettonHolders:
      type: object
      required:
      - addresses
      - total
      properties:
        addresses:
          type: array
          items:
            type: object
            required:
            - address
            - owner
            - balance
            properties:
              address:
                type: string
                format: address
                example: 0:10C1073837B93FDAAD594284CE8B8EFF7B9CF25427440EB2FC682762E1471365
              owner:
                $ref: '#/components/schemas/AccountAddress'
              balance:
                type: string
                x-js-format: bigint
                example: '168856200518084'
                description: balance in the smallest jetton's units
        total:
          type: integer
 

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