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

πŸ” Register an account xpub

Code samples

POST /api/v1/eth/xpub

curl -X POST 'https://settla.net/api/v1/eth/xpub' \
  -H 'X-API-Key: $SETTLA_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "xpub": "xpub6BemYiVNp19a2Hdfe9LeU9GQDZXWvynzDMyocgAKwtZESXBLAtLPKN31heufNF6FVPcgkb7wzvPZLF5CHrEHmomdYRskJmC12d1Haqc5kQC",
  "label": "shop-1"
}'

Only an extended PUBLIC key (xpub) is accepted. The service neither accepts nor stores private keys or mnemonics: xprv/zprv are rejected with 422. Signing stays on the client side; the signed transaction is broadcast through /api/v1/eth/transactions/send-raw.

Addresses are derived as 0/{index} below the supplied account key, i.e. the same addresses a wallet shows for m/44'/60'/0'/0/{index}.

Body parameter

{
  "xpub": "xpub6BemYiVNp19a2Hdfe9LeU9GQDZXWvynzDMyocgAKwtZESXBLAtLPKN31heufNF6FVPcgkb7wzvPZLF5CHrEHmomdYRskJmC12d1Haqc5kQC",
  "label": "shop-1"
}

πŸ› οΈ Parameters

NameInTypeRequiredDescription
bodybodyobjecttruenone
Β» xpubbodystringtrueAccount-level extended public key, base58check.
Β» labelbodystringfalsenone

Example responses

201 Response

{
  "id": 1,
  "chain": "ETH",
  "fingerprint": "1a2b3c4d",
  "label": "shop-1",
  "xpub_preview": "xpub6Bem…5kQC",
  "next_index": 3,
  "issued_count": 3,
  "created_at": "2025-07-23T15:16:00Z"
}

πŸ” Responses

StatusMeaningDescriptionSchema
201CreatedKey registered (repeat calls with the same key return the same record)Inline
422Unprocessable EntityKey could not be parsed, is a private key, or does not fit the chainNone

πŸ”„ Response Schema

Status Code 201

NameTypeRequiredRestrictionsDescription
Β» idintegerfalsenonenone
Β» chainstringfalsenonenone
Β» fingerprintstringfalsenoneFirst 4 bytes of hash160(pubkey), hex β€” lets the client tell its keys apart.
» labelstring¦nullfalsenonenone
Β» xpub_previewstringfalsenoneMasked key; the full value is never returned, it would reveal the whole address history.
Β» next_indexintegerfalsenonenone
Β» issued_countintegerfalsenonenone
Β» created_atstring(date-time)falsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth
Prev
πŸ‘¨β€πŸ’Ό Account
Next
πŸ” JSON-RPC