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

πŸ‘¨β€πŸ’» Get transaction by hash

Code samples

GET /api/v1/trx/transactions/{hash}

curl 'https://settla.net/api/v1/trx/transactions/8b5e5f9a99d65c0b3aac7f3cbc2ee3029a0d4225054fd99830236d96d853c503' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Accept: application/json'

Returns one transaction in normalised form, with the node's original payload kept under raw_data. Addresses are decoded to base58, TRC20 transfers are decoded into from/to/amount/token_symbol so you do not have to parse the a9059cbb… call data yourself, and token_decimals tells you how to scale amount β€” "2000000" with token_decimals: 6 is 2 USDT. fee is unreliable on this endpoint. When the node has no execution info for the transaction, the handler falls back to raw_data.fee_limit β€” the ceiling the sender allowed, not what was charged. In the example below that yields 50000000 (50 TRX) for a transfer that actually cost nothing. For the real figure read fee from GET /api/v1/trx/address/{address}/transactions. result is the on-chain outcome: SUCCESS or FAILED. raw_data.ret[].contractRet carries the precise reason, e.g. OUT_OF_ENERGY.

πŸ› οΈ Parameters

NameInTypeRequiredDescription
hashpathstringtrue64-character transaction ID.

Example responses

200 Response

{
  "tx_id": "8b5e5f9a99d65c0b3aac7f3cbc2ee3029a0d4225054fd99830236d96d853c503",
  "amount": "2000000",
  "block_number": 77951958,
  "block_timestamp": 1764517689000,
  "from": "TEPSrSYPDSQ7yXpMFPq91Fb1QEWpMkRGfn",
  "to": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
  "token_symbol": "USDT",
  "token_decimals": 6,
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
  "contract_type": "TriggerSmartContract",
  "fee": 50000000,
  "result": "SUCCESS",
  "raw_data": {
    "txID": "8b5e5f9a99d65c0b3aac7f3cbc2ee3029a0d4225054fd99830236d96d853c503",
    "raw_data": {
      "ref_block_bytes": "73c3",
      "ref_block_hash": "0214af5c5729128e",
      "expiration": 1764517986000,
      "contract": [
        {
          "type": "TriggerSmartContract",
          "parameter": {
            "type_url": "type.googleapis.com/protocol.TriggerSmartContract",
            "value": {
              "owner_address": "4130760c7e10b1d3509d8d64a7e9eb9ab94bc83495",
              "contract_address": "41a614f803b6fd780986a42c78ec9c7f77e6ded13c",
              "data": "a9059cbb00000000000000000000000082dd6b9966724ae2fdc79b416c7588da67ff1b3500000000000000000000000000000000000000000000000000000000001e8480"
            }
          }
        }
      ],
      "timestamp": 1764517687800,
      "fee_limit": 50000000
    },
    "signature": [
      "4817931a156fa2e95fabac528daf33e1d09b34fb3ee2925beec879e40ce15c16a6ca9d2001524f29757fd9b57ada9432fac300aa21d8dfffa238c2a19232bb6c01"
    ],
    "ret": [
      {
        "contractRet": "SUCCESS"
      }
    ],
    "raw_data_hex": "0a0273c322080214af5c5729128e40d0fddeabad335aae01081f12a9010a31747970652e676f6f676c65617069732e636f6d2f70726f746f636f6c2e54726967676572536d617274436f6e747261637412740a154130760c7e10b1d3509d8d64a7e9eb9ab94bc83495121541a614f803b6fd780986a42c78ec9c7f77e6ded13c2244a9059cbb00000000000000000000000082dd6b9966724ae2fdc79b416c7588da67ff1b3500000000000000000000000000000000000000000000000000000000001e848070f8e3ccabad33900180e1eb17"
  },
  "@timestamp": "2026-09-02T07:16:47.176691Z"
}

500 Response

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

πŸ” Responses

StatusMeaningDescriptionSchema
200OKTransaction detailsInline
500Internal Server ErrorCould not connect to TRX nodeInline

πŸ”„ Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» tx_idstringfalsenonenone
Β» amountstringfalsenoneSmallest unit, as a decimal string. Scale it by token_decimals.
» block_numberinteger¦nullfalsenonenull while the transaction is still unconfirmed.
Β» block_timestampinteger(int64)Β¦nullfalsenoneMilliseconds since the Unix epoch.
» fromstring¦nullfalsenoneBase58, decoded from the contract parameters.
» tostring¦nullfalsenonenone
Β» token_symbolstringfalsenoneTRX for native transfers.
Β» token_decimalsintegerfalsenonenone
» contract_addressstring¦nullfalsenonenull for native TRX transfers.
Β» contract_typestringfalsenoneTransferContract for TRX, TriggerSmartContract for TRC20.
» feeinteger¦nullfalsenoneUnreliable — falls back to raw_data.fee_limit when the node has no execution info. See the endpoint description.
Β» resultstringfalsenonenone
Β» raw_dataobjectfalsenoneThe node's own transaction object, unmodified.
Β» @timestampstring(date-time)falsenoneWhen this response was assembled, not a chain timestamp.

Status Code 500

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
Β» detailsobjectfalsenonePresent only on a few validation errors.

Enumerated Values

PropertyValue
resultSUCCESS
resultFAILED
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth
Prev
πŸ†Ž Block
Next
πŸ‘¨β€πŸ’Ό Account