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

๐Ÿ“ Create an unsigned transaction

Code samples

POST /api/v1/trx/transactions/create

curl -X POST 'https://settla.net/api/v1/trx/transactions/create' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "owner_address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
  "to_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
  "amount": 1000,
  "visible": true
}'

Builds an unsigned TRX transfer. Nothing is signed, nothing is sent, and no key ever reaches the platform โ€” this is the first half of the recommended flow:

  1. POST /api/v1/trx/transactions/create โ€” get the unsigned transaction; 2. sign txID with your own key, on your own side; 3. POST /api/v1/trx/transactions/broadcast โ€” submit the signed object. The body is forwarded verbatim to the node's /wallet/createtransaction and the node's answer is returned verbatim, so any field java-tron accepts works here. Pass visible: true to use base58 (Tโ€ฆ) addresses; without it the node expects hex (41โ€ฆ). amount is in SUN โ€” 1 TRX = 1 000 000 SUN. This endpoint builds plain TRX transfers only; a TRC20 transfer needs /wallet/triggersmartcontract, which is not exposed here. Before signing, recompute txID yourself โ€” it is the SHA-256 of the bytes of raw_data_hex, not of its hex text โ€” and refuse to sign if it differs from what the node returned. This is what protects you from a tampered transaction body. The transaction expires at expiration (about a minute after creation) and must be broadcast before then.

Body parameter

{
  "owner_address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
  "to_address": "TN3W4H6rK2ce4vX9YnFQHwKENnHjoxb3m9",
  "amount": 1000,
  "visible": true
}

๐Ÿ› ๏ธ Parameters

NameInTypeRequiredDescription
bodybodyobjecttruenone
ยป owner_addressbodystringfalseSender.
ยป to_addressbodystringfalseRecipient.
ยป amountbodyinteger(int64)falseAmount in SUN.
ยป visiblebodybooleanfalsetrue if the addresses in this body are base58. Omit or set false to pass hex 41โ€ฆ addresses.

Example responses

200 Response

{
  "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",
  "visible": true
}

500 Response

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

๐Ÿ” Responses

StatusMeaningDescriptionSchema
200OKUnsigned transaction objectInline
500Internal Server ErrorCould not connect to TRX nodeInline

๐Ÿ”„ Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
ยป txIDstringfalsenonenone
ยป raw_dataobjectfalsenonenone
ยป raw_data_hexstringfalsenoneThe signable payload. txID is the SHA-256 of these bytes.
ยป signature[string]falsenonenone
ยป ret[object]falsenonenone
ยปยป contractRetstringfalsenonenone

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
๐Ÿ†Ž Get all transactions for an address
Next
๐Ÿ“ก Broadcast a signed transaction