Website
Dashboard
Website
Dashboard
  • ๐Ÿ‘‰ Welcome
  • ๐Ÿง How to set up an account
  • ๐Ÿ“ˆ Monitoring and analytics
  • ๐Ÿ” Introducing coins vs tokens
  • ๐Ÿ‘จโ€๐Ÿ’ผ The meaning of owning crypto
  • ๐Ÿ’ฐ Wallets
  • ๐Ÿ“œ Supported Blockchains
  • GITHUB
    • ๐Ÿ˜ SDK PHP
    • ๐Ÿ“ SDK Python
    • ๐Ÿ‘จโ€๐Ÿ’ป SDK GOLANG
    • โœณ๏ธ SDK NODE JS
    • โœณ๏ธ PHP Wallet
  • API REFERENCE
    • ๐Ÿ”‘ Authentication & base URL
    • Bitcoin
      • ๐Ÿ” Info
        • ๐Ÿง Check BTC node health
        • ๐Ÿ“œ Get latest Bitcoin block
      • ๐Ÿ†Ž Block
        • ๐Ÿ“ˆ Get Bitcoin block by height
        • ๐Ÿ‘จโ€๐Ÿ’ป Get Bitcoin block by hash
        • ๐Ÿ“‘ Get transaction count in block by height
        • ๐Ÿ“‘ Get transaction count in block by hash
      • ๐Ÿ’ฐ Transactions
        • ๐Ÿ‘จโ€๐Ÿ’ป Get Bitcoin transaction by hash
        • ๐Ÿ“ Send pre-signed raw Bitcoin transaction
      • ๐Ÿ‘จโ€๐Ÿ’ผ Account
        • ๐Ÿ’ฐ List BTC addresses managed by node wallet
        • ๐Ÿ†Ž Get BTC received amount for address
      • ๐Ÿ” Watch-only addresses
        • ๐Ÿ” Register an account zpub
        • ๐Ÿ“œ List registered extended public keys
        • ๐Ÿ†Ž Issue the next BTC address
        • ๐Ÿ“‘ History of issued BTC addresses
        • โŒ Delete a registered zpub
      • ๐Ÿ” JSON-RPC
        • ๐Ÿ” JSON-RPC
    • Ethereum
      • ๐Ÿ” Info
        • ๐Ÿง Check ETH node health
        • ๐Ÿ“œ Get latest Ethereum block
      • ๐Ÿ†Ž Block
        • ๐Ÿ“ˆ Get Ethereum block by height
        • ๐Ÿ‘จโ€๐Ÿ’ป Get Ethereum block by hash
        • ๐Ÿ“‘ Get transaction count in block by height
        • ๐Ÿ“‘ Get transaction count in block by hash
      • ๐Ÿ’ฐ Transactions
        • ๐Ÿ‘จโ€๐Ÿ’ป Get Ethereum transaction by hash
        • ๐Ÿ‘จโ€๐Ÿ’ป Get Ethereum transaction receipt by hash
        • ๐Ÿ“ Send pre-signed raw Ethereum transaction
      • ๐Ÿ‘จโ€๐Ÿ’ผ Account
        • ๐Ÿ” List ETH accounts managed by node
        • ๐Ÿ†Ž Get ETH balance for address
        • ๐Ÿ†Ž Get transaction count (nonce) for address
        • ๐Ÿ‘‰ Estimate gas for transaction
        • ๐Ÿ“‘ Read-only contract call (eth_call)
        • ๐Ÿ‘จโ€๐Ÿ’ผ Send transaction from node-managed account
      • ๐Ÿ” Watch-only addresses
        • ๐Ÿ” Register an account xpub
        • ๐Ÿ“œ List registered extended public keys
        • ๐Ÿ†Ž Issue the next ETH address
        • ๐Ÿ“‘ History of issued ETH addresses
        • โŒ Delete a registered xpub
      • ๐Ÿ” JSON-RPC
        • ๐Ÿ” JSON-RPC
    • Tron
      • ๐Ÿ” Info
        • ๐Ÿ“‘ Get TRX node info
        • ๐Ÿง Check Tron node health
        • ๐Ÿช™ List supported TRC20 tokens
      • ๐Ÿ†Ž Block
        • ๐Ÿ“œ Get latest Tron block
        • ๐Ÿ“œ Get latest N blocks
        • ๐ŸŸ  Get block by number
        • ๐Ÿ‘จโ€๐Ÿ’ป Get block by hash
      • ๐Ÿ’ฐ Transactions
        • ๐Ÿ‘จโ€๐Ÿ’ป Get transaction by hash
        • ๐Ÿ†Ž Get all transactions for an address
        • ๐Ÿ“ Create an unsigned transaction
        • ๐Ÿ“ก Broadcast a signed transaction
      • ๐Ÿ‘จโ€๐Ÿ’ผ Account
        • ๐Ÿ†Ž Validate a Tron address
        • ๐Ÿ” Get account information
        • ๐Ÿ’ฐ Get account balance
        • ๐Ÿ’ฐ Get all asset balances
        • ๐Ÿ’ต Get a single TRC20 balance
        • โš ๏ธ Create a new Tron address (deprecated)
        • โš ๏ธ Generate a private key from a mnemonic (deprecated)
        • โš ๏ธ Send TRX from one address to another (deprecated)
        • โš ๏ธ Send USDT (TRC20) from one address to another (deprecated)
      • ๐Ÿ“Š Schemas
      • ๐Ÿ” JSON-RPC
    • Webhooks
      • โœณ๏ธ Management
        • ๐Ÿ‘จโ€๐Ÿ“œ List webhooks
        • ๐Ÿง Create webhook
        • ๐Ÿ‘‰ Get webhook
        • ๐Ÿ‘จโ€๐Ÿ” Update webhook
        • โŒ Delete webhook
        • ๐Ÿ”‘ Rotate signing secret
      • ๐Ÿ“จ Receiving notifications

๐Ÿ“ก Broadcast a signed transaction

Code samples

POST /api/v1/trx/transactions/broadcast

curl -X POST 'https://settla.net/api/v1/trx/transactions/broadcast' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "txID": "e5c5e129f0cb41a6d29c18b060f9dbd6992025da1cc769485c06e3c373169b41",
  "raw_data": {
    "ref_block_bytes": "88f0",
    "ref_block_hash": "ef8831affaead8f8",
    "expiration": 1788333366000,
    "contract": [
      {
        "type": "TransferContract",
        "parameter": {
          "type_url": "type.googleapis.com/protocol.TransferContract",
          "value": {
            "owner_address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
            "to_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
            "amount": 1000
          }
        }
      }
    ],
    "timestamp": 1788333307556
  },
  "raw_data_hex": "0a0288f02208ef8831affaead8f840f0b5e68786345a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a154182dd6b9966724ae2fdc79b416c7588da67ff1b3512154184716914c0fdf7110a44030d04d0c4923504d9cc18e80770a4ede2878634",
  "signature": [
    "4817931a156fa2e95fabac528daf33e1d09b34fb3ee2925beec879e40ce15c16a6ca9d2001524f29757fd9b57ada9432fac300aa21d8dfffa238c2a19232bb6c01"
  ],
  "visible": true
}'

Submits a signed transaction to the network. Send back the entire object returned by /transactions/create, unmodified, with your signature added as a signature array of one hex string. A rejected broadcast still answers 200. The node reports the outcome in the body, not in the HTTP status, so never treat 200 as success on its own โ€” check result === true. On failure you get code and message instead; message is usually plain text but java-tron sometimes hex-encodes it, so decode it if it is all hex digits. Common code values: SIGERROR (missing or wrong signature), TRANSACTION_EXPIRATION_ERROR (you passed expiration), DUP_TRANSACTION_ERROR (already broadcast) and BANDWITH_ERROR (not enough bandwidth or TRX to cover the fee). A successful broadcast only means the transaction was accepted into the pool. Confirm it by polling GET /api/v1/trx/transactions/{hash} until block_number is set and result is SUCCESS.

Body parameter

{
  "txID": "e5c5e129f0cb41a6d29c18b060f9dbd6992025da1cc769485c06e3c373169b41",
  "raw_data": {
    "ref_block_bytes": "88f0",
    "ref_block_hash": "ef8831affaead8f8",
    "expiration": 1788333366000,
    "contract": [
      {
        "type": "TransferContract",
        "parameter": {
          "type_url": "type.googleapis.com/protocol.TransferContract",
          "value": {
            "owner_address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
            "to_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
            "amount": 1000
          }
        }
      }
    ],
    "timestamp": 1788333307556
  },
  "raw_data_hex": "0a0288f02208ef8831affaead8f840f0b5e68786345a66080112620a2d747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e5472616e73666572436f6e747261637412310a154182dd6b9966724ae2fdc79b416c7588da67ff1b3512154184716914c0fdf7110a44030d04d0c4923504d9cc18e80770a4ede2878634",
  "signature": [
    "4817931a156fa2e95fabac528daf33e1d09b34fb3ee2925beec879e40ce15c16a6ca9d2001524f29757fd9b57ada9432fac300aa21d8dfffa238c2a19232bb6c01"
  ],
  "visible": true
}

๐Ÿ› ๏ธ Parameters

NameInTypeRequiredDescription
bodybodyobjecttruenone
ยป txIDbodystringfalsenone
ยป raw_databodyobjectfalsenone
ยป raw_data_hexbodystringfalsenone
ยป signaturebody[string]falseOne hex-encoded recoverable signature over txID.
ยป visiblebodybooleanfalsenone

Example responses

200 Response โ€” Accepted into the mempool

{
  "result": true,
  "txid": "e5c5e129f0cb41a6d29c18b060f9dbd6992025da1cc769485c06e3c373169b41"
}

200 Response โ€” Real response to an unsigned transaction

{
  "code": "SIGERROR",
  "message": "Validate signature error: miss sig or contract",
  "txid": "e5c5e129f0cb41a6d29c18b060f9dbd6992025da1cc769485c06e3c373169b41"
}

500 Response

{
  "error": "Could not connect to TRX node."
}

๐Ÿ” Responses

StatusMeaningDescriptionSchema
200OKBroadcast outcome. Both acceptance and rejection are reported here โ€” branch on result.Inline
500Internal Server ErrorCould not connect to TRX nodeInline

๐Ÿ”„ Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
ยป resultbooleanfalsenonePresent and true only when the node accepted the transaction.
ยป txidstringfalsenonenone
ยป codestringfalsenoneRejection reason; absent on success.
ยป messagestringfalsenoneHuman-readable rejection reason, occasionally hex-encoded. Absent on success.

Status Code 500

NameTypeRequiredRestrictionsDescription
ยป errorstringfalsenonenone
ยป detailsobjectfalsenonePresent only on a few validation errors.
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth
Prev
๐Ÿ“ Create an unsigned transaction