estimatefee - TON

Example code for the estimatefee JSON-RPC method. Сomplete guide on how to use estimatefee JSON-RPC in GetBlock.io Web3 documentation.

This method estimates the fees that a given message would incur if applied to the specified contract, without actually broadcasting it. Use it to give users an accurate fee preview before signing.

Parameters

Parameter
Type
Required
Description

address

string

Yes

Destination contract address

body

string

Yes

Base64-encoded BOC of the message body

init_code

string

No

Base64-encoded BOC of the init code (for uninitialised contracts)

init_data

string

No

Base64-encoded BOC of the init data (for uninitialised contracts)

ignore_chksig

boolean

No

Whether to ignore the signature check during emulation (default: true)

Request Example

JSON-RPC (POST):

curl --location --request POST 'https://go.getblock.io/<ACCESS_TOKEN>/estimateFee' \
--header 'Content-Type: application/json' \
--data-raw '{
        "address": "EQDtFpEwcFAEcRe5mLVh2N6C0x-_hJEM7W61_JLnSF74p4q2",
        "body": "te6cckEBAQEAAgAAAEysuc0=",
        "ignore_chksig": true
}'

Response Example

Response Parameters

Field
Type
Description

result.source_fees.in_fwd_fee

integer

Inbound forward fee (nanotons)

result.source_fees.storage_fee

integer

Storage fee (nanotons)

result.source_fees.gas_fee

integer

Gas fee (nanotons)

result.source_fees.fwd_fee

integer

Outbound forward fee (nanotons)

result.destination_fees

array

Fees at destination accounts, if any

Use Cases

  • Showing a user an accurate fee preview before they sign

  • Server-side fee budgeting in dApps

  • Validating that a contract call will not run out of gas

Error Handling

Status Code
Error Message
Cause

403

Forbidden

Missing or invalid <ACCESS-TOKEN>

422

Validation Error

Request parameters are missing or malformed

429

Too Many Requests

Rate limit exceeded for your plan

504

Lite Server Timeout

Upstream TON liteserver timed out

422

Validation Error

Body, init_code, or init_data is malformed

SDK Integration

Last updated

Was this helpful?