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 a single TRC20 balance

Code samples

GET /api/v1/trx/account/balance/trc20/{address}/{contractAddress}

curl 'https://settla.net/api/v1/trx/account/balance/trc20/TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Accept: application/json'

Returns one address's balance of one TRC20 contract, with the token's metadata resolved. Unlike /account/{address}/balance, this endpoint is not limited to the curated whitelist: the balance is read straight off the contract, so any TRC20 address works. The metadata, however, still comes from the whitelist β€” for a contract outside it symbol, name and decimals all come back as null while balance is correct. In that case you have to know the token's precision yourself. balance is always the raw integer unit as a decimal string; divide by 10 ** decimals to display it. Both path segments are checksum-validated before the node is called, so a malformed address fails fast with 400.

πŸ› οΈ Parameters

NameInTypeRequiredDescription
addresspathstringtrueBase58 address whose balance is being read.
contractAddresspathstringtrueBase58 address of the TRC20 contract.

Example responses

200 Response β€” USDT β€” metadata resolved

{
  "address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
  "balance": "3100000",
  "symbol": "USDT",
  "decimals": 6,
  "name": "Tether USD"
}

200 Response β€” JST β€” balance only, metadata null

{
  "address": "TMuA6YqfCeX8EhbfYEg5y7S4DqzSJireY9",
  "contract_address": "TCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy9",
  "balance": "0",
  "symbol": null,
  "decimals": null,
  "name": null
}

400 Response β€” badAddress

{
  "error": "Invalid address."
}

400 Response β€” badContract

{
  "error": "Invalid contract address."
}

500 Response β€” nodeUnreachable

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

500 Response β€” Node answered but the constant call produced no value

{
  "error": "Failed to fetch TRC20 balance from node."
}

πŸ” Responses

StatusMeaningDescriptionSchema
200OKToken balanceInline
400Bad RequestOne of the path segments is not a valid Tron addressInline
500Internal Server ErrorThe node could not be reached, or returned no balanceInline

πŸ”„ Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» addressstringfalsenonenone
Β» contract_addressstringfalsenonenone
Β» balancestringfalsenoneRaw balance as a decimal string, in the token's smallest unit. "3100000" with decimals: 6 is 3.1 USDT.
» symbolstring¦nullfalsenonenull for contracts outside the whitelist.
» decimalsinteger¦nullfalsenonenull for contracts outside the whitelist.
» namestring¦nullfalsenonenull for contracts outside the whitelist.

Status Code 400

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

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 asset balances
Next
⚠️ Create a new Tron address (deprecated)