# TonCenter v2

TON API is available on [Web3 API platform](https://crypto-chief.com/rpc/ton/).

TonCenter v2 is a direct HTTP interface to a TON liteserver. It enables access to the blockchain — querying accounts and wallets, looking up blocks and transactions, calling get-methods of smart contracts, and broadcasting external messages.

Every REST endpoint is also reachable through a [JSON-RPC 2.0](https://www.jsonrpc.org/specification) envelope at `/jsonRPC` where `method` equals the REST endpoint name and `params` is passed as a dictionary.

The response always contains a boolean `ok` field and either `result` or `error`. When `ok` is `true`, the requested data is in `result`; otherwise the failure reason is in `error`.

***

### Methods supported

**Accounts**

* [`getAddressInformation`](#getaddressinformation) — retrieves basic information about an address.
* [`getExtendedAddressInformation`](#getextendedaddressinformation) — retrieves extended information about an address.
* [`getWalletInformation`](#getwalletinformation) — retrieves wallet-specific information about an address.
* [`getAddressBalance`](#getaddressbalance) — retrieves the address balance in nanotons.
* [`getAddressState`](#getaddressstate) — retrieves the address state (`active`, `uninitialized`, or `frozen`).
* [`getTokenData`](#gettokendata) — retrieves Jetton or NFT metadata from a token smart contract.
* [`getShardAccountCell`](#getshardaccountcell) — retrieves the raw TVM cell with the shard account.

**Blocks**

* [`getMasterchainInfo`](#getmasterchaininfo) — retrieves up-to-date masterchain state.
* [`getMasterchainBlockSignatures`](#getmasterchainblocksignatures) — retrieves validator signatures for a masterchain block.
* [`getShardBlockProof`](#getshardblockproof) — retrieves the Merkle proof of a shard block.
* [`getConsensusBlock`](#getconsensusblock) — retrieves the block confirmed by consensus.
* [`lookupBlock`](#lookupblock) — looks up a block by seqno, shard, and workchain.
* [`getShards`](#getshards) — retrieves shards information for a given masterchain block seqno.
* [`getBlockHeader`](#getblockheader) — retrieves block header information.
* [`getOutMsgQueueSize`](#getoutmsgqueuesize) — retrieves the size of the outbound message queue.

**Transactions**

* [`getBlockTransactions`](#getblocktransactions) — retrieves transactions in a specified block.
* [`getBlockTransactionsExt`](#getblocktransactionsext) — retrieves transactions in a specified block with extended information.
* [`getTransactions`](#gettransactions) — retrieves transactions for a specified address.
* [`getTransactionsStd`](#gettransactionsstd) — standardized version of `getTransactions`.
* [`tryLocateTx`](#trylocatetx) — tries to locate the outgoing transaction of the destination address by an incoming message.
* [`tryLocateResultTx`](#trylocateresulttx) — same as `tryLocateTx`; tries to locate the outgoing transaction of the destination address by an incoming message.
* [`tryLocateSourceTx`](#trylocatesourcetx) — tries to locate the source transaction by destination transaction parameters.

**Configuration**

* [`getConfigParam`](#getconfigparam) — retrieves a blockchain configuration parameter.
* [`getConfigAll`](#getconfigall) — retrieves all blockchain configuration parameters.
* [`getLibraries`](#getlibraries) — retrieves library code by hashes.

**Run method**

* [`runGetMethod`](#rungetmethod) — runs a get method of a smart contract.
* [`runGetMethodStd`](#rungetmethodstd) — standardized version of `runGetMethod`.

**Send**

* [`sendBoc`](#sendboc) — sends a bag of cells to the blockchain.
* [`sendBocReturnHash`](#sendbocreturnhash) — sends a bag of cells to the blockchain and returns its hash.
* [`estimateFee`](#estimatefee) — estimates the fee required to process a query.

**Utilities**

* [`detectAddress`](#detectaddress) — returns all possible forms of an address.
* [`detectHash`](#detecthash) — returns all possible forms of a hash.
* [`packAddress`](#packaddress) — packs an address into base64 form.
* [`unpackAddress`](#unpackaddress) — unpacks an address from base64 form.

**JSON-RPC**

* [`jsonRPC`](#jsonrpc) — universal JSON-RPC endpoint dispatching to any method above.

***

### `getAddressInformation`

> Retrieves basic information about an address: balance, code, data, last transaction ID.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the state.

#### Returns

* `@type`: always `raw.fullAccountState`.
* `balance`: balance in nanotons.
* `extra_currencies`: list of extra-currency balances.
* `code`: account code (base64-encoded BoC).
* `data`: account data (base64-encoded BoC).
* `last_transaction_id`: logical time and hash of the last transaction.
* `block_id`: masterchain block ID at which the state was read.
* `frozen_hash`: state hash if the account is frozen.
* `sync_utime`: timestamp of the liteserver sync.
* `state`: `active`, `uninitialized`, or `frozen`.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getAddressInformation?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "raw.fullAccountState",
        "balance": "1277485861704527743",
        "extra_currencies": [],
        "last_transaction_id": {
            "@type": "internal.transactionId",
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
        },
        "block_id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943079,
            "root_hash": "COiR2asrTEJdiqVlr0UL1ywRdFqF/a/WWXQ8pF+KnYQ=",
            "file_hash": "XjC90/dGpLXIYT2rfbiPG9E686+c/dx9lERMk1lTFU0="
        },
        "code": "te6cckECEgEAAvUAART/APSkE/S88sgLAQIBYgIDA27QM9DTAwFxsJJfA+D6QDDbPALTHyGCENZBa/664wIBwADyvdMH0SDAZCHA...",
        "data": "te6cckECBgEAAQ8AAUKA5YQILcgsXJgD8ASdQrbkAGU1t4Bo6u+ABY/UAAAnjQABART/APSkE/S88sgLAgIBYgMEAZ7Q7aLt+zMx0NMDAXGw...",
        "frozen_hash": "",
        "sync_utime": 1779670037,
        "state": "active"
    }
}
```

***

### `getExtendedAddressInformation`

> Retrieves extended information about an address with parsed fields.

This method extends `getAddressInformation` with structured data such as the parsed account address and state — useful for clients that want to avoid manually decoding raw cells.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the state.

#### Returns

* `@type`: always `fullAccountState`.
* `address`: parsed account address object.
* `balance`: balance in nanotons.
* `last_transaction_id`: logical time and hash of the last transaction.
* `block_id`: masterchain block at which the state was read.
* `sync_utime`: timestamp of the sync.
* `account_state`: parsed account state.
* `revision`: state revision.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getExtendedAddressInformation?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "fullAccountState",
        "address": {
            "@type": "accountAddress",
            "account_address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
        },
        "balance": "1277485861704527743",
        "extra_currencies": [],
        "last_transaction_id": {
            "@type": "internal.transactionId",
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
        },
        "block_id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943483,
            "root_hash": "bQOR+FSKwqhQDrUTlkBG5moklzKxMAQBE6VKmyPl8BY=",
            "file_hash": "L5P3BESOlKJ7u8ewBffdHhiHmvxNUBi3Tzhz6cHAS5M="
        },
        "sync_utime": 1779670202,
        "account_state": {
            "@type": "raw.accountState",
            "code": "te6cckECEgEAAvUAART/APSkE/S88sgLAQIBYgIDA27QM9DTAwFxsJJfA+D6QDDbPAL...",
            "data": "te6cckECBgEAAQ8AAUKA5YQILcgsXJgD8ASdQrbkAGU1t4Bo6u+ABY/UAAAnjQABART/APSkE/S88sgLAgI...",
            "frozen_hash": ""
        },
        "revision": 0
    }
}
```

***

### `getWalletInformation`

> Retrieves wallet-specific information about an address.

Returns whether the contract is a recognized wallet, its seqno, public key, and wallet type. Returns `wallet: false` for non-wallet contracts.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the state.

#### Returns

* `@type`: always `ext.accounts.walletInformation`.
* `wallet` (boolean): whether the contract is a recognized wallet.
* `balance`: balance in nanotons.
* `account_state`: `active`, `uninitialized`, or `frozen`.
* `wallet_type` (string; optional): wallet implementation, e.g. `wallet v3 r2`.
* `seqno` (integer; optional): wallet seqno (sequence number used for signing).
* `wallet_id` (integer; optional): subwallet ID.
* `last_transaction_id`: logical time and hash of the last transaction.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getWalletInformation?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.accounts.walletInformation",
        "wallet": false,
        "balance": "1277485861704527743",
        "account_state": "active",
        "last_transaction_id": {
            "@type": "internal.transactionId",
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
        }
    }
}
```

***

### `getAddressBalance`

> Retrieves the address balance in nanotons.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the balance.

#### Returns

* A string containing the balance in nanotons (`1 TON = 10^9 nanotons`).

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getAddressBalance?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": "1277485861704527743"
}
```

***

### `getAddressState`

> Retrieves the address state.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the state.

#### Returns

* A string: `active`, `uninitialized`, or `frozen`.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getAddressState?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": "active"
}
```

***

### `getTokenData`

> Retrieves Jetton or NFT metadata from a token smart contract.

Calls the standard get-methods on the contract to detect token type and parse on-chain or off-chain metadata.

#### Parameters

* `address` (string; required): address of a Jetton master, Jetton wallet, NFT item, or NFT collection.

#### Returns

* `@type`: e.g. `ext.tokens.jettonMasterData`, `ext.tokens.jettonWalletData`, `ext.tokens.nftItemData`, `ext.tokens.nftCollectionData`.
* `contract_type`: contract kind (`jetton_master`, `jetton_wallet`, `nft_item`, `nft_collection`).
* `address`: token contract address.
* For Jetton masters: `total_supply`, `mintable`, `admin_address`, `jetton_content`, `jetton_wallet_code`.
* For NFT items: `init`, `index`, `collection_address`, `owner_address`, `content`.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getTokenData?address=EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.tokens.jettonMasterData",
        "address": "EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728",
        "contract_type": "jetton_master",
        "total_supply": "67151986370",
        "mintable": true,
        "jetton_content": {
            "type": "onchain",
            "data": {
                "decimals": "6",
                "image": "https://bridge.ton.org/token/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.png",
                "uri": "https://bridge.ton.org/token/1/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48.json"
            }
        },
        "jetton_wallet_code": "te6cckECEwEAA4UAART/APSkE/S88sgLAQIBYgIDAgLLBAUAG6D2BdqJofQB9IH0gamjAgHOBgcCAVgKCwL3CDHAJJfBOA..."
    }
}
```

***

### `getShardAccountCell`

> Retrieves the raw TVM cell with the shard account.

Returns the BoC of the shard account record from the state of the requested (or latest) masterchain block. Useful for clients that want to verify state via the cell hash.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `seqno` (integer; optional): seqno of a block at which to read the state.

#### Returns

* `bytes`: base64-encoded BoC of the shard account.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getShardAccountCell?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "tvm.cell",
        "bytes": "te6cckECEwEAA4UAART/APSkE/S88sgLAQIBYgIDAgLLBAUAG6..."
    }
}
```

***

### `getMasterchainInfo`

> Retrieves up-to-date masterchain state.

Returns the latest masterchain block, the initial masterchain block, and the state root hash.

#### Parameters

None.

#### Returns

* `@type`: always `blocks.masterchainInfo`.
* `last`: latest masterchain block (`workchain`, `shard`, `seqno`, `root_hash`, `file_hash`).
* `state_root_hash`: root hash of the state.
* `init`: zero-state (initial) block.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getMasterchainInfo'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.masterchainInfo",
        "last": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943064,
            "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
            "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
        },
        "state_root_hash": "hAVCmv0kbasFZhBJKs2tMhroZcKdxfzKAq68QBhjMD8=",
        "init": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "0",
            "seqno": 0,
            "root_hash": "F6OpKZKqvqeFp6CQmFomXNMfMj2EnaUSOXN+Mh+wVWk=",
            "file_hash": "XplPz01CXAps5qeSWUtxcyBfdAo5zVb1N979KLSKD24="
        }
    }
}
```

***

### `getMasterchainBlockSignatures`

> Retrieves validator signatures for a masterchain block.

#### Parameters

* `seqno` (integer; required): seqno of the masterchain block.

#### Returns

* `@type`: always `blocks.blockSignatures.simplex`.
* `id`: full block ID.
* `signatures`: array of `{ node_id_short, signature }` entries.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getMasterchainBlockSignatures?seqno=68943064'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.blockSignatures.simplex",
        "id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943064,
            "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
            "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
        },
        "signatures": [
            {
                "@type": "blocks.signature",
                "node_id_short": "C2RXCqS0ehujFyThdWIpgW8vBioTmw8s7TfZm2jgMmw=",
                "signature": "a/9zsxDcprV/+ogBoIZmAMFaL/o9koCpvMLgXZF6lTtu5J6V9bOpoAOXvFb7Fdr7uQQCfQQFcEJmmpPQNDLBAw=="
            },
            {
                "@type": "blocks.signature",
                "node_id_short": "knO/ws2CVBd/jx+e85MdeYoLzeijMbOPInYXjPpeskk=",
                "signature": "h2YSWyHAQi2NLc5ehA/IOrLhqit4bOfvWYXjVFSemwg/jeqGPlLsto7sQzJ60aEX0G2p+D00T4K3N0E+TUrYAA=="
            }
        ]
    }
}
```

***

### `getShardBlockProof`

> Retrieves the Merkle proof of a shard block.

#### Parameters

* `workchain` (integer; required): workchain ID.
* `shard` (string; required): shard ID.
* `seqno` (integer; required): seqno of the shard block.
* `from_seqno` (integer; optional): seqno of the masterchain block starting from which the proof is required. If omitted, the latest masterchain block is used.

#### Returns

* `@type`: always `blocks.shardBlockProof`.
* `from`: source masterchain block ID.
* `mc_id`: masterchain block ID containing the link.
* `links`: array of shard block links with proofs.
* `mc_proof`: chain of backwards block links proving the masterchain history.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getShardBlockProof?workchain=0&shard=2000000000000000&seqno=73807266'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.shardBlockProof",
        "from": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943726,
            "root_hash": "7dF+BgQy/xRfWVJbHXGQuU/Ssbm625jwGWlhr8LWlto=",
            "file_hash": "5pD5aYJUFVWVI892mmaXS2j08tUwagtts0K1xbPai2w="
        },
        "mc_id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943095,
            "root_hash": "eFHdksdiccLBwqGj24XEnWwcYTtgJ3jLwnVlBcOexxs=",
            "file_hash": "/1y1fOsfdGJ71aXdMUcruKw0GAkFdyDKFrBp/9sQguk="
        },
        "links": [
            {
                "@type": "blocks.shardBlockLink",
                "id": {
                    "@type": "ton.blockIdExt",
                    "workchain": 0,
                    "shard": "-9223372036854775808",
                    "seqno": 73807266,
                    "root_hash": "u3S1oEBNmSiK+KHvR5tX2qmHOykSS7L1T3VBZMqdDuM=",
                    "file_hash": "FtqUcm6H6XWniP/Y/FnVmsvCa8AoQnAynzJt+heb4Bg="
                },
                "proof": "te6ccgECEAEAAh8ACUYDeFHdksdiccLBwqGj24XEnWwcYTtgJ3jLwnVlBcOexxsAFwEkEBHvVar///8R..."
            }
        ],
        "mc_proof": []
    }
}
```

***

### `getConsensusBlock`

> Retrieves the block confirmed by consensus.

Returns the latest masterchain block that the liteservers know has been signed by the validator set.

#### Parameters

None.

#### Returns

* `consensus_block` (integer): seqno of the consensus block.
* `timestamp` (number): timestamp of the consensus block.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getConsensusBlock'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "consensus_block": 68943095,
        "timestamp": 1779670044.123
    }
}
```

***

### `lookupBlock`

> Looks up a block by seqno, shard, and workchain.

One of `seqno`, `lt`, or `unixtime` must be provided in addition to `workchain` and `shard`.

#### Parameters

* `workchain` (integer; required): workchain ID.
* `shard` (string; required): shard ID.
* `seqno` (integer; optional): seqno of the block.
* `lt` (string; optional): logical time of the block.
* `unixtime` (integer; optional): UNIX timestamp of the block.

#### Returns

* `@type`: always `ton.blockIdExt`.
* `workchain`, `shard`, `seqno`, `root_hash`, `file_hash`.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/lookupBlock?workchain=-1&shard=-9223372036854775808&seqno=68943064'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ton.blockIdExt",
        "workchain": -1,
        "shard": "-9223372036854775808",
        "seqno": 68943064,
        "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
        "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
    }
}
```

***

### `getShards`

> Retrieves shards information for a given masterchain block seqno.

#### Parameters

* `seqno` (integer; required): seqno of the masterchain block.

#### Returns

* `@type`: always `blocks.shards`.
* `shards`: array of `ton.blockIdExt` entries describing each shard at the time of the requested masterchain block.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getShards?seqno=68943095'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.shards",
        "shards": [
            {
                "@type": "ton.blockIdExt",
                "workchain": 0,
                "shard": "-9223372036854775808",
                "seqno": 73807266,
                "root_hash": "u3S1oEBNmSiK+KHvR5tX2qmHOykSS7L1T3VBZMqdDuM=",
                "file_hash": "FtqUcm6H6XWniP/Y/FnVmsvCa8AoQnAynzJt+heb4Bg="
            }
        ]
    }
}
```

***

### `getBlockHeader`

> Retrieves block header information.

#### Parameters

* `workchain` (integer; required): workchain ID.
* `shard` (string; required): shard ID.
* `seqno` (integer; required): seqno of the block.
* `root_hash` (string; optional): root hash of the block.
* `file_hash` (string; optional): file hash of the block.

#### Returns

* `@type`: always `blocks.header`.
* `id`: full block ID.
* `global_id`, `version`, `flags`.
* `after_merge`, `after_split`, `before_split`, `want_merge`, `want_split`.
* `validator_list_hash_short`, `catchain_seqno`, `min_ref_mc_seqno`, `prev_key_block_seqno`.
* `start_lt`, `end_lt`, `gen_utime`.
* `prev_blocks`: array of previous block IDs.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getBlockHeader?workchain=-1&shard=-9223372036854775808&seqno=68943064'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.header",
        "id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943064,
            "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
            "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
        },
        "global_id": -239,
        "version": 0,
        "after_merge": false,
        "after_split": false,
        "before_split": false,
        "want_merge": true,
        "want_split": false,
        "validator_list_hash_short": -992080861,
        "catchain_seqno": 821806,
        "min_ref_mc_seqno": 68943061,
        "is_key_block": false,
        "prev_key_block_seqno": 68894754,
        "start_lt": "79219784000000",
        "end_lt": "79219784000004",
        "gen_utime": 1779670031,
        "prev_blocks": [
            {
                "@type": "ton.blockIdExt",
                "workchain": -1,
                "shard": "-9223372036854775808",
                "seqno": 68943063,
                "root_hash": "jVVnKQ8LxZWCn3izCsIVfkJnl2hFnRj3llohNxVsH4I=",
                "file_hash": "qz6XWbu6LBJ+JfhE/uH7xsQmDOfDnd8rXJl1dqr6+xg="
            }
        ]
    }
}
```

***

### `getOutMsgQueueSize`

> Retrieves the size of the outbound message queue.

Returns the per-shard size of the queue of messages waiting to be forwarded between shards.

#### Parameters

None.

#### Returns

* `@type`: always `blocks.outMsgQueueSizes`.
* `shards`: array of `{ id, size }` entries — one per shard.
* `ext_msg_queue_size_limit` (integer): configured upper bound on external messages.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getOutMsgQueueSize'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.outMsgQueueSizes",
        "shards": [
            {
                "@type": "blocks.outMsgQueueSize",
                "id": {
                    "@type": "ton.blockIdExt",
                    "workchain": -1,
                    "shard": "-9223372036854775808",
                    "seqno": 68943525,
                    "root_hash": "EAmRCeTTuMQty0+A7wx9RWS9ydMR9g8VamP/kDFN9Gs=",
                    "file_hash": "Bi0seJOdygEQ+eAZjK+nbJ8z099/OnK0H326pkgWtSw="
                },
                "size": 0
            }
        ],
        "ext_msg_queue_size_limit": 8000
    }
}
```

***

### `getBlockTransactions`

> Retrieves transactions in a specified block.

Returns a paginated list of compact transaction descriptors (account + lt + hash) for the given block.

#### Parameters

* `workchain` (integer; required): workchain ID.
* `shard` (string; required): shard ID.
* `seqno` (integer; required): seqno of the block.
* `root_hash` (string; optional): root hash of the block.
* `file_hash` (string; optional): file hash of the block.
* `after_lt` (string; optional): logical time of the transaction to read after (for pagination).
* `after_hash` (string; optional): hex or base64 hash of the account in the block, indicating which transaction to read after.
* `count` (integer; optional): maximum number of items in the response (default: `40`).

#### Returns

* `@type`: always `blocks.transactions`.
* `id`: block ID.
* `req_count`: number of requested transactions.
* `incomplete` (boolean): whether more transactions are available.
* `transactions`: array of `{ mode, account, lt, hash }` entries.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getBlockTransactions?workchain=-1&shard=-9223372036854775808&seqno=68943064'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.transactions",
        "id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943064,
            "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
            "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
        },
        "req_count": 40,
        "incomplete": false,
        "transactions": [
            {
                "@type": "blocks.shortTxId",
                "mode": 135,
                "account": "-1:3333333333333333333333333333333333333333333333333333333333333333",
                "lt": "79219784000001",
                "hash": "coq699GPzr3M1/clWK+q+RW1FBd45dBtSxJLk2Y12h4="
            },
            {
                "@type": "blocks.shortTxId",
                "mode": 135,
                "account": "-1:5555555555555555555555555555555555555555555555555555555555555555",
                "lt": "79219784000003",
                "hash": "oQT51zBNaL4dBsbc4afT3YtoUgraBEvdnY8IUJZ2gcg="
            }
        ]
    }
}
```

***

### `getBlockTransactionsExt`

> Retrieves transactions in a specified block with extended information.

Same shape as `getBlockTransactions` but returns full transaction records (with messages, fees, descriptions) instead of compact descriptors.

#### Parameters

* `workchain` (integer; required): workchain ID.
* `shard` (string; required): shard ID.
* `seqno` (integer; required): seqno of the block.
* `root_hash` (string; optional): root hash of the block.
* `file_hash` (string; optional): file hash of the block.
* `after_lt` (string; optional): logical time of the transaction to read after.
* `after_hash` (string; optional): hex or base64 hash of the account in the block, indicating which transaction to read after.
* `count` (integer; optional): maximum number of items in the response (default: `40`).

#### Returns

* `@type`: always `blocks.transactionsExt`.
* `id`: block ID.
* `req_count`: number of requested transactions.
* `incomplete` (boolean): whether more transactions are available.
* `transactions`: array of full transaction objects (see [`getTransactions`](#gettransactions)).

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getBlockTransactionsExt?workchain=-1&shard=-9223372036854775808&seqno=68943064&count=5'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "blocks.transactionsExt",
        "id": {
            "@type": "ton.blockIdExt",
            "workchain": -1,
            "shard": "-9223372036854775808",
            "seqno": 68943064,
            "root_hash": "IG73lfil/agHVLb6K2F3fRetC+zT4pykObn7qOGci/U=",
            "file_hash": "5BZwnLapC42CR1JRLQMGUL3mYQPTPOUKSCLkhOIIeMY="
        },
        "req_count": 5,
        "incomplete": false,
        "transactions": []
    }
}
```

***

### `getTransactions`

> Retrieves transactions for a specified address.

Returns a list of transactions on the given account, paginated by logical time.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `limit` (integer; optional): maximum number of items in the response (default: `10`).
* `lt` (string; optional): logical time of the transaction to start from.
* `hash` (string; optional): hash of the transaction to start from.
* `to_lt` (string; optional): logical time to stop at (default: `0`).
* `archival` (boolean; optional): whether to use an archival node (default: `false`).

#### Returns

* Array of transactions, each containing:
  * `@type`: `ext.transaction` or `raw.transaction`.
  * `address`: parsed account address.
  * `utime`: UNIX timestamp.
  * `transaction_id`: `{ lt, hash }`.
  * `fee`, `storage_fee`, `other_fee`.
  * `in_msg`: incoming message (`source`, `destination`, `value`, `body_hash`, `msg_data`, `message`).
  * `out_msgs`: outgoing messages.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getTransactions?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2&limit=1'
```

#### Response example

```json
{
    "ok": true,
    "result": [
        {
            "@type": "ext.transaction",
            "address": {
                "@type": "accountAddress",
                "account_address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
            },
            "account": "0:ED1691307050047117B998B561D8DE82D31FBF84910CED6EB5FC92E7485EF8A7",
            "utime": 1779485898,
            "transaction_id": {
                "@type": "internal.transactionId",
                "lt": "78756620000015",
                "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
            },
            "fee": "209238",
            "storage_fee": "14103",
            "other_fee": "195135",
            "in_msg": {
                "@type": "ext.message",
                "hash": "xzyhgoOLEyLidSGDI1bbOpdlJhL9N5xH67V3rkaJOKE=",
                "source": "EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew",
                "destination": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2",
                "value": "7511933",
                "fwd_fee": "44446",
                "ihr_fee": "0",
                "created_lt": "78756618000062",
                "body_hash": "tRE+ukFgJJz0Bg/UmxkbMo1BV3TG1ql4of6kolZ1tUE=",
                "msg_data": {
                    "@type": "msg.dataText",
                    "text": "cmV3YXJkIGZyb20gQXJub2xkIGludmVzdG1lbnQ="
                },
                "message": "reward from Arnold investment"
            },
            "out_msgs": [
                {
                    "@type": "ext.message",
                    "hash": "N1RDjIxeUdhbhCHNnOSmUzWE8gsgjOedf9weVbXhYv0=",
                    "source": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2",
                    "destination": "EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew",
                    "value": "7316798",
                    "created_lt": "78756620000016",
                    "body_hash": "FAGWhI/GSgD9t5/rCLG/QkIa+sqSirrkgoLVzqc3Y2Q="
                }
            ]
        }
    ]
}
```

***

### `getTransactionsStd`

> Standardized version of `getTransactions`.

Same input and semantics as `getTransactions`, but returns results in a uniform shape with consistent typing across address forms and message variants. Recommended for new integrations.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.
* `limit` (integer; optional): maximum number of items in the response (default: `10`).
* `lt` (string; optional): logical time of the transaction to start from.
* `hash` (string; optional): hash of the transaction to start from.
* `to_lt` (string; optional): logical time to stop at (default: `0`).
* `archival` (boolean; optional): whether to use an archival node (default: `false`).

#### Returns

* Same shape as [`getTransactions`](#gettransactions) with normalized field names.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getTransactionsStd?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2&limit=1'
```

#### Response example

```json
{
    "ok": true,
    "result": [
        {
            "address": "0:ED1691307050047117B998B561D8DE82D31FBF84910CED6EB5FC92E7485EF8A7",
            "utime": 1779485898,
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM=",
            "fee": "209238",
            "storage_fee": "14103",
            "other_fee": "195135",
            "in_msg": { "source": "EQCv3xY8...", "destination": "EQDtFpEw...", "value": "7511933" },
            "out_msgs": []
        }
    ]
}
```

***

### `tryLocateTx`

> Tries to locate the outgoing transaction of the destination address by an incoming message.

Given a `(source, destination, created_lt)` triple identifying a message, returns the transaction on the destination side that processed it.

#### Parameters

* `source` (string; required): source address.
* `destination` (string; required): destination address.
* `created_lt` (string; required): creation logical time of the message.

#### Returns

* Transaction object on the destination account (same shape as in [`getTransactions`](#gettransactions)).

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/tryLocateTx?source=EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew&destination=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2&created_lt=78756618000062'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.transaction",
        "address": {
            "account_address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
        },
        "utime": 1779485898,
        "transaction_id": {
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
        },
        "fee": "209238"
    }
}
```

***

### `tryLocateResultTx`

> Same as `tryLocateTx` — tries to locate the outgoing transaction of the destination address by an incoming message.

Kept as a separate endpoint for backwards compatibility.

#### Parameters

* `source` (string; required): source address.
* `destination` (string; required): destination address.
* `created_lt` (string; required): creation logical time of the message.

#### Returns

* Transaction object on the destination account.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/tryLocateResultTx?source=EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew&destination=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2&created_lt=78756618000062'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.transaction",
        "address": {
            "account_address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
        },
        "utime": 1779485898,
        "transaction_id": {
            "lt": "78756620000015",
            "hash": "MjpKVwMq6j5s4jLASmyzowATm6a/2BGZIipAxT+6mRM="
        }
    }
}
```

***

### `tryLocateSourceTx`

> Tries to locate the source transaction by destination transaction parameters.

The inverse of `tryLocateTx` — given a message at the destination, returns the source-side transaction that emitted it.

#### Parameters

* `source` (string; required): source address.
* `destination` (string; required): destination address.
* `created_lt` (string; required): creation logical time of the message.

#### Returns

* Transaction object on the source account.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/tryLocateSourceTx?source=EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew&destination=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2&created_lt=78756618000062'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.transaction",
        "address": {
            "account_address": "EQCv3xY8iuGlF2lE2C2tlSR3oIS9jxtqImO1OWvFh6T95Bew"
        },
        "utime": 1779485890,
        "transaction_id": {
            "lt": "78756618000062",
            "hash": "z4Xv7H5jhP1eLgxbE8d1MhBkR0DqYwLfV2KsP3oNvW8="
        }
    }
}
```

***

### `getConfigParam`

> Retrieves a blockchain configuration parameter.

Returns the raw cell containing the value of a specific masterchain config parameter (see [TON network config](https://docs.ton.org/develop/howto/blockchain-configs)).

#### Parameters

* `param` (integer; required): parameter number.
* `seqno` (integer; optional): masterchain block seqno.

#### Returns

* `@type`: always `configInfo`.
* `config`: `tvm.cell` with the base64-encoded BoC of the parameter value.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getConfigParam?param=0'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "configInfo",
        "config": {
            "@type": "tvm.cell",
            "bytes": "te6cckEBAQEAIgAAQFVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV+A4W5w=="
        }
    }
}
```

***

### `getConfigAll`

> Retrieves all blockchain configuration parameters.

Returns the full config dictionary as a single cell.

#### Parameters

* `seqno` (integer; optional): masterchain block seqno.

#### Returns

* `@type`: always `configInfo`.
* `config`: `tvm.cell` with the base64-encoded BoC of the entire config dictionary.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getConfigAll'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "configInfo",
        "config": {
            "@type": "tvm.cell",
            "bytes": "te6cckICAhMAAQAA..."
        }
    }
}
```

***

### `getLibraries`

> Retrieves library code by hashes.

Looks up library cells stored in the masterchain library dictionary. Useful when running TVM code that references shared libraries.

#### Parameters

* `libraries` (array of strings; required): hashes of libraries to fetch (hex or base64).

#### Returns

* `result` (array): list of `{ hash, data }` entries where `data` is the base64-encoded BoC of the library cell.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/getLibraries?libraries=587CCEA284867945BC02CCD24F33D0EA9C39D6E2BD22014C5E20C1F60CA76C75'
```

#### Response example

```json
{
    "ok": true,
    "result": [
        {
            "hash": "587CCEA284867945BC02CCD24F33D0EA9C39D6E2BD22014C5E20C1F60CA76C75",
            "data": "te6cckEBAQEAUgAAn8AAAA..."
        }
    ]
}
```

***

### `runGetMethod`

> Runs a get method of a smart contract.

Executes a read-only TVM call on the requested account without producing any transaction or paying gas.

#### Parameters

* `address` (string; required): smart contract address.
* `method` (string or integer; required): method name or method ID.
* `stack` (array; required): input stack, each element is a `[type, value]` pair where `type` is one of `num`, `cell`, `slice`, or `tvm.tuple`.
* `seqno` (integer; optional): masterchain block seqno at which to run the method.

#### Returns

* `@type`: always `smc.runResult`.
* `gas_used`: gas consumed during execution.
* `stack`: output stack, same encoding as the input.
* `exit_code` (integer): TVM exit code (`0` means success).

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/runGetMethod' \
-H 'Content-Type: application/json' \
-d '{
    "address": "EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728",
    "method": "get_jetton_data",
    "stack": []
}'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "smc.runResult",
        "gas_used": 1308,
        "stack": [
            ["num", "0xfa491a042"],
            ["num", "0x-1"],
            ["cell", { "bytes": "te6cckEBAQE..." }],
            ["cell", { "bytes": "te6cckEBAgE..." }],
            ["cell", { "bytes": "te6cckECEwE..." }]
        ],
        "exit_code": 0
    }
}
```

***

### `runGetMethodStd`

> Standardized version of `runGetMethod`.

Same semantics as `runGetMethod`, but returns the stack in a typed, self-describing JSON form (instead of `[type, value]` pairs). Recommended for new integrations.

#### Parameters

* `address` (string; required): smart contract address.
* `method` (string or integer; required): method name or method ID.
* `stack` (array; required): input stack with explicit type tags, e.g. `[{ "type": "num", "value": "0x12a" }]`.
* `seqno` (integer; optional): masterchain block seqno at which to run the method.

#### Returns

* `gas_used`: gas consumed during execution.
* `stack`: output stack as an array of `{ type, value }` objects.
* `exit_code` (integer): TVM exit code (`0` means success).

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/runGetMethodStd' \
-H 'Content-Type: application/json' \
-d '{
    "address": "EQB-MPwrd1G6WKNkLz_VnV6WqBDd142KMQv-g1O-8QUA3728",
    "method": "get_jetton_data",
    "stack": []
}'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "gas_used": 1308,
        "stack": [
            { "type": "num", "value": "0xfa491a042" },
            { "type": "num", "value": "-1" },
            { "type": "cell", "value": "te6cckEBAQE..." }
        ],
        "exit_code": 0
    }
}
```

***

### `sendBoc`

> Sends a bag of cells to the blockchain.

Broadcasts a serialized external message. The endpoint returns acknowledgement only — to track inclusion you must poll [`getTransactions`](#gettransactions) for the receiving account.

#### Parameters

* `boc` (string; required): base64-encoded BoC of the external message.

#### Returns

* `@type`: always `ok`.

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/sendBoc' \
-H 'Content-Type: application/json' \
-d '{
    "boc": "te6cckEBAgEAcwAB4YgB2i0iYOCgCOIvczFqw7G9BaY/fwkiGdrda/klzpC98U8DwH..."
}'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ok"
    }
}
```

***

### `sendBocReturnHash`

> Sends a bag of cells to the blockchain and returns its hash.

Same as `sendBoc`, but also returns the hash of the broadcasted message — useful for tracking.

#### Parameters

* `boc` (string; required): base64-encoded BoC of the external message.

#### Returns

* `@type`: always `raw.extMessageInfo`.
* `hash`: base64-encoded hash of the broadcasted message.

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/sendBocReturnHash' \
-H 'Content-Type: application/json' \
-d '{
    "boc": "te6cckEBAgEAcwAB4YgB2i0iYOCgCOIvczFqw7G9BaY/fwkiGdrda/klzpC98U8DwH..."
}'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "raw.extMessageInfo",
        "hash": "xzyhgoOLEyLidSGDI1bbOpdlJhL9N5xH67V3rkaJOKE="
    }
}
```

***

### `estimateFee`

> Estimates the fee required to process a query.

Performs a dry-run of a message against the account state and returns a breakdown of the projected fees.

#### Parameters

* `address` (string; required): destination smart contract address.
* `body` (string; required): base64-encoded BoC of the message body.
* `init_code` (string; optional): base64-encoded BoC of the init code (for uninitialized accounts).
* `init_data` (string; optional): base64-encoded BoC of the init data.
* `ignore_chksig` (boolean; optional): whether to skip the signature check.

#### Returns

* `@type`: always `query.fees`.
* `source_fees`: `{ in_fwd_fee, storage_fee, gas_fee, fwd_fee }` for the source.
* `destination_fees`: same shape for the destination(s).

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/estimateFee' \
-H 'Content-Type: application/json' \
-d '{
    "address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2",
    "body": "te6cckEBAQEAAgAAAEysuc0=",
    "init_code": "",
    "init_data": "",
    "ignore_chksig": true
}'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "query.fees",
        "source_fees": {
            "@type": "fees",
            "in_fwd_fee": 1437452,
            "storage_fee": 0,
            "gas_fee": 309000,
            "fwd_fee": 666672
        },
        "destination_fees": []
    }
}
```

***

### `detectAddress`

> Returns all possible forms of an address.

Useful to convert between raw (`workchain:hex`), user-friendly bounceable, and non-bounceable representations.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.

#### Returns

* `@type`: always `ext.utils.detectedAddress`.
* `raw_form`: `workchain:hex` form.
* `bounceable`: `{ b64, b64url }` for the bounceable user-friendly form.
* `non_bounceable`: `{ b64, b64url }` for the non-bounceable user-friendly form.
* `given_type`: detected type of the input.
* `test_only` (boolean): whether the input was a testnet-only form.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/detectAddress?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.utils.detectedAddress",
        "raw_form": "0:ed1691307050047117b998b561d8de82d31fbf84910ced6eb5fc92e7485ef8a7",
        "bounceable": {
            "@type": "ext.utils.detectedAddressVariant",
            "b64": "EQDtFpEwcFAEcRe5mLVh2N6C0x+/hJEM7W61/JLnSF74p4q2",
            "b64url": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
        },
        "non_bounceable": {
            "@type": "ext.utils.detectedAddressVariant",
            "b64": "UQDtFpEwcFAEcRe5mLVh2N6C0x+/hJEM7W61/JLnSF74p9dz",
            "b64url": "UQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p9dz"
        },
        "given_type": "friendly_bounceable",
        "test_only": false
    }
}
```

***

### `detectHash`

> Returns all possible forms of a hash.

Converts a 256-bit hash between hex, base64, and base64url representations.

#### Parameters

* `hash` (string; required): the 256-bit hash in any form.

#### Returns

* `@type`: always `ext.utils.detectedHash`.
* `b64`: base64 form.
* `b64url`: base64url form.
* `hex`: hex form.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/detectHash?hash=YnH9bvk5O/jSc1VFv9MZNX8O5ndIvR42Y9oZQXgmFf0='
```

#### Response example

```json
{
    "ok": true,
    "result": {
        "@type": "ext.utils.detectedHash",
        "b64": "YnH9bvk5O/jSc1VFv9MZNX8O5ndIvR42Y9oZQXgmFf0=",
        "b64url": "YnH9bvk5O_jSc1VFv9MZNX8O5ndIvR42Y9oZQXgmFf0",
        "hex": "6271fd6ef9393bf8d2735545bfd319357f0ee67748bd1e3663da1941782615fd"
    }
}
```

***

### `packAddress`

> Packs an address into base64 form.

Takes a raw `workchain:hex` address and returns its user-friendly base64url form.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.

#### Returns

* A string containing the packed base64url address.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/packAddress?address=0:ed1691307050047117b998b561d8de82d31fbf84910ced6eb5fc92e7485ef8a7'
```

#### Response example

```json
{
    "ok": true,
    "result": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
}
```

***

### `unpackAddress`

> Unpacks an address from base64 form.

Takes a user-friendly base64/base64url address and returns its raw `workchain:hex` form.

#### Parameters

* `address` (string; required): identifier of the target TON account in any form.

#### Returns

* A string containing the raw address in `workchain:hex` form.

#### Request example

```bash
curl -X GET 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/unpackAddress?address=EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2'
```

#### Response example

```json
{
    "ok": true,
    "result": "0:ED1691307050047117B998B561D8DE82D31FBF84910CED6EB5FC92E7485EF8A7"
}
```

***

### `jsonRPC`

> Universal JSON-RPC endpoint dispatching to any method above.

Wraps any v2 method into a [JSON-RPC 2.0](https://www.jsonrpc.org/specification) envelope. `method` is the REST endpoint name (e.g. `getAddressInformation`), and `params` is the dictionary of its arguments.

#### Parameters

* `id` (integer or string; required): request ID.
* `jsonrpc` (string; required): JSON-RPC version (always `2.0`).
* `method` (string; required): name of any v2 method.
* `params` (object; required): dictionary of arguments for the chosen method.

#### Returns

* `jsonrpc`: always `2.0`.
* `id`: echoed request ID.
* `result`: result of the wrapped method (same shape as the REST response's `result` field).

#### Request example

```bash
curl -X POST 'https://rpc.crypto-chief.com/ton-v2/{YOUR_API_KEY}/jsonRPC' \
-H 'Content-Type: application/json' \
-d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getAddressBalance",
    "params": {
        "address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2"
    }
}'
```

#### Response example

```json
{
    "ok": true,
    "result": "1277485861704527743",
    "jsonrpc": "2.0",
    "id": "1"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-rpc.crypto-chief.com/chains/ton/ton-v2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
