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

๐Ÿ“ Send pre-signed raw Bitcoin transaction

Code samples

POST /api/v1/btc/transactions/send-raw

curl -X POST 'https://settla.net/api/v1/btc/transactions/send-raw' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "rawTransaction": "01000000000101bbe899bde41927e0a22fd11e7ef3149c8919632f242d7f84250c8380b2f83bd80000000000ffffffff02804f120000000000160014e93523416d7137dad7b63813ca2a72010bc94d3b400d030000000000160014โ€ฆ"
}'

Broadcasts a signed, hex-encoded transaction via sendrawtransaction. Signing happens entirely on your side โ€” the platform never sees a private key. Build and sign the transaction in your own wallet, then post the raw hex here. Both rawTransaction and signedTransaction are accepted; they are aliases for the same field, and rawTransaction is the documented name. On success you get the txid back, which means the node accepted the transaction into its mempool โ€” not that it is confirmed. Poll GET /api/v1/btc/transactions/{hash} and watch confirmations. A rejected transaction โ€” bad signature, insufficient fee, already-spent input โ€” surfaces as 500 with the generic Could not connect to BTC node. message, so you cannot tell rejection from an outage by the response alone. To find out why before broadcasting, send testmempoolaccept through the JSON-RPC proxy: it returns the node's actual reject reason.

Body parameter

{
  "rawTransaction": "01000000000101bbe899bde41927e0a22fd11e7ef3149c8919632f242d7f84250c8380b2f83bd80000000000ffffffff02804f120000000000160014e93523416d7137dad7b63813ca2a72010bc94d3b400d030000000000160014โ€ฆ"
}

๐Ÿ› ๏ธ Parameters

NameInTypeRequiredDescription
bodybodyobjecttruenone
ยป rawTransactionbodystringtrueSigned transaction, hex-encoded, no 0x prefix. This is exactly the hex field you get back from GET /api/v1/btc/transactions/{hash}.
ยป signedTransactionbodystringfalseAlias of rawTransaction. Send one or the other, not both.

Example responses

200 Response

{
  "transactionHash": "5fc111d07140a808ba08ac28f61fd436efbfe9d84f5437abe980b42c8d9f0a5e"
}

422 Response

{
  "error": "Field \"rawTransaction\" is required and must be a string"
}

500 Response

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

๐Ÿ” Responses

StatusMeaningDescriptionSchema
200OKNode accepted the transaction into its mempool. Not a confirmation.Inline
422Unprocessable EntityrawTransaction/signedTransaction missing, or not a string. The request never reached the node.Inline
500Internal Server ErrorNode unreachable or the transaction was rejected โ€” the two are indistinguishable here. Common rejection causes: an input already spent (txn-already-known, bad-txns-inputs-missingorspent), a fee below the node's minimum relay fee, a bad signature. Run testmempoolaccept through the JSON-RPC proxy first if you need the real reason.Inline

๐Ÿ”„ Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
ยป transactionHashstringfalsenonetxid of the broadcast transaction. Matches the txid you computed locally when signing โ€” if it does not, the node malleated nothing and you serialised something else.

Status Code 422

NameTypeRequiredRestrictionsDescription
ยป errorstringfalsenoneHuman-readable reason.

Status Code 500

NameTypeRequiredRestrictionsDescription
ยป errorstringfalsenoneHuman-readable reason.
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth
Prev
๐Ÿ‘จโ€๐Ÿ’ป Get Bitcoin transaction by hash