Skip to main content
POST
/
sendBoc
sendBoc
curl --request POST \
  --url https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v2/sendBoc \
  --header 'Content-Type: application/json' \
  --data '{
  "boc": "te6ccgEBAgEAqwAB4YgBVbC7Hu+g3htYXzst8L5ucV76NMzeBK3URJKebN2Y1kwADRfFu/r0HxgrOp/Iml8Li5x4gR10J5XYFS8z0fMWJ6JPeUF5xNSLrSDGFIqhJqkW1SEYQF8Dw5p4dI3oaFs4LCmpoxdkfKw0AAAAGAAcAQBoQgAwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL68="
}'
{
  "ok": true,
  "result": {
    "@type": "<string>",
    "@extra": "<string>"
  }
}
The sendBoc method sends a serialized bag-of-cells (BoC) to the TON blockchain. This is the primary method for submitting signed transactions to the network.
Start for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
There’s no difference between a full node an archive node in data availability or pricing. All data is always available and all node requests are consumed as 1 request unit.

Request body

  • boc (string, required) — The serialized bag-of-cells in base64 format. This contains the signed external message to be sent to the blockchain.

JSON-RPC

curl -X POST \
  'https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v2/jsonRPC' \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "sendBoc",
    "params": {
      "boc": "te6ccgEBAgEAqwAB4YgBVbC7Hu+g3htYXzst8L5ucV76NMzeBK3URJKebN2Y1kwADRfFu/r0HxgrOp/Iml8Li5x4gR10J5XYFS8z0fMWJ6JPeUF5xNSLrSDGFIqhJqkW1SEYQF8Dw5p4dI3oaFs4LCmpoxdkfKw0AAAAGAAcAQBoQgAwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL68="
    }
  }'

Response

  • ok (boolean) — Whether the operation was successful.
  • result (object) — The result of the operation. Contains:
    • @type (string) — The type of the result, typically ok for successful submissions.
    • @extra (string) — Extra information about the operation.

Use case

The sendBoc method is essential for any application that needs to send transactions to the TON blockchain:
  1. Wallet applications use this to broadcast user-signed transactions.
  2. Smart contract deployment tools send compiled contracts to the network.
  3. DApps submit user interactions with smart contracts.
  4. Automated trading bots execute trades on DEXs.
  5. Token transfer services broadcast transfer transactions.
Here’s an example of sending a simple TON transfer:
curl -X 'POST' \
  'https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v2/sendBoc' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "boc": "te6ccgEBAgEAqwAB4YgBVbC7Hu+g3htYXzst8L5ucV76NMzeBK3URJKebN2Y1kwADRfFu/r0HxgrOp/Iml8Li5x4gR10J5XYFS8z0fMWJ6JPeUF5xNSLrSDGFIqhJqkW1SEYQF8Dw5p4dI3oaFs4LCmpoxdkfKw0AAAAGAAcAQBoQgAwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL68="
}'
To create a valid BoC for sending, you typically need to:
  1. Create the message payload
  2. Sign it with your private key
  3. Serialize it to base64 format
Libraries like TonWeb, ton-core, or the TON SDK handle this process.

Body

application/json
boc
string
default:te6ccgEBAgEAqwAB4YgBVbC7Hu+g3htYXzst8L5ucV76NMzeBK3URJKebN2Y1kwADRfFu/r0HxgrOp/Iml8Li5x4gR10J5XYFS8z0fMWJ6JPeUF5xNSLrSDGFIqhJqkW1SEYQF8Dw5p4dI3oaFs4LCmpoxdkfKw0AAAAGAAcAQBoQgAwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL68=
required

The serialized bag-of-cells in base64 format

Response

200 - application/json

The result of sending the BoC

ok
boolean

Whether the operation was successful

result
object | null