Login
Registration
Login
Registration
  • πŸ‘‰ Welcome
  • 🧐 How to set up an account
  • πŸ“ˆ Monitoring and analytics
  • πŸ” Introducing coins vs tokens
  • πŸ‘¨β€πŸ’Ό The meaning of owning crypto
  • πŸ’° Wallets
  • πŸ“œ Supported Blockchains
  • API REFERENCE
    • 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
      • πŸ” 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 Bitcoin transaction by hash
        • πŸ‘¨β€πŸ’» Get Ethereum transaction receipt by hash
        • πŸ“ Send pre-signed raw Bitcoin 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)
        • πŸ‘¨β€πŸ’Ό Get BTC received amount for address
      • πŸ” JSON-RPC
    • Tron
      • πŸ” Info
        • πŸ“‘ Get TRX node info
        • 🧐 Check Tron node health
      • πŸ†Ž 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
      • πŸ‘¨β€πŸ’Ό Account
        • πŸ†Ž Validate a Tron address
        • πŸ” Get account information
        • πŸ’° Get account balance
        • πŸ†Ž Create a new Tron address
        • πŸ’΅ Generate a private key from a mnemonic
        • πŸ“Š Send TRX from one address to another
        • πŸ“Š Send USDT (TRC20) from one address to another
      • ✳️ Webhooks
        • πŸ‘¨β€πŸ“œ List webhooks
        • 🧐 Create webhook
        • πŸ‘‰ Get webhook
        • πŸ‘¨β€πŸ” Get transaction by hash
        • ❌ Get all transactions for an address
      • πŸ“Š Schemas

Bitcoin Node API v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

API gateway for interacting with a Bitcoin node via standardized JSON-RPC methods

Base URLs:

  • http://localhost

  • https://cryptoenter.io

Authentication

  • API Key (ApiKeyAuth)
    • Parameter Name: X-API-Key, in: header. API key for authentication. Include your API key in the X-API-Key header.

Bitcoin

Bitcoin JSON-RPC gateway and helper endpoints

Check BTC node health

Code samples

GET /api/v1/btc/health

Performs a lightweight getblockchaininfo JSON-RPC call to the configured BTC node and returns basic health information.

Example responses

200 Response

{
  "status": "ok",
  "time": "2025-07-23T15:16:00Z",
  "chain": "main",
  "blocks": 840000,
  "headers": 840005,
  "verificationProgress": 0.99999
}

Responses

StatusMeaningDescriptionSchema
200OKBTC node is reachable and respondingInline
500Internal Server ErrorBTC node URL or credentials are not configured, or node is not reachableInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» statusstringfalsenonenone
Β» timestring(date-time)falsenonenone
Β» chainstringfalsenoneActive chain type reported by getblockchaininfo (e.g. main, test, regtest, signet).
Β» blocksinteger(int64)falsenoneCurrent block height.
Β» headersinteger(int64)falsenoneCurrent number of block headers known.
Β» verificationProgressnumber(float)falsenoneBlockchain verification progress from 0.0 to 1.0.

Status Code 500

NameTypeRequiredRestrictionsDescription
Β» statusstringfalsenonenone
Β» messagestringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get latest Bitcoin block

Code samples

GET /api/v1/btc/block/last

Returns the most recent block from the Bitcoin blockchain using getbestblockhash followed by getblock with verbosity 2.

Example responses

200 Response

{
  "hash": "string",
  "confirmations": 0,
  "height": 0,
  "version": 0,
  "versionHex": "string",
  "merkleroot": "string",
  "time": 0,
  "mediantime": 0,
  "nonce": 0,
  "bits": "string",
  "difficulty": 0.1,
  "chainwork": "string",
  "nTx": 0,
  "strippedsize": 0,
  "size": 0,
  "weight": 0,
  "previousblockhash": "string",
  "nextblockhash": "string",
  "tx": [
    "string"
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKLatest Bitcoin blockBtcBlock
500Internal Server ErrorCould not connect to BTC nodeNone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get Bitcoin block by height

Code samples

GET /api/v1/btc/block/{blockNumber}

Returns a specific block by its height using getblockhash followed by getblock with verbosity 2.

Parameters

NameInTypeRequiredDescription
blockNumberpathinteger(int64)trueBlock height in the best chain (non-negative integer).

Example responses

200 Response

{
  "hash": "string",
  "confirmations": 0,
  "height": 0,
  "version": 0,
  "versionHex": "string",
  "merkleroot": "string",
  "time": 0,
  "mediantime": 0,
  "nonce": 0,
  "bits": "string",
  "difficulty": 0.1,
  "chainwork": "string",
  "nTx": 0,
  "strippedsize": 0,
  "size": 0,
  "weight": 0,
  "previousblockhash": "string",
  "nextblockhash": "string",
  "tx": [
    "string"
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKBitcoin blockBtcBlock
400Bad RequestInvalid block number (negative)Inline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 400

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get Bitcoin block by hash

Code samples

GET /api/v1/btc/block/hash/{blockHash}

Returns a block by its hash using getblock with verbosity 2.

Parameters

NameInTypeRequiredDescription
blockHashpathstringtrueBitcoin block hash.

Example responses

200 Response

{
  "hash": "string",
  "confirmations": 0,
  "height": 0,
  "version": 0,
  "versionHex": "string",
  "merkleroot": "string",
  "time": 0,
  "mediantime": 0,
  "nonce": 0,
  "bits": "string",
  "difficulty": 0.1,
  "chainwork": "string",
  "nTx": 0,
  "strippedsize": 0,
  "size": 0,
  "weight": 0,
  "previousblockhash": "string",
  "nextblockhash": "string",
  "tx": [
    "string"
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKBitcoin blockBtcBlock
500Internal Server ErrorCould not connect to BTC nodeNone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get transaction count in block by height

Code samples

GET /api/v1/btc/block/{blockNumber}/transactions/count

Returns the number of transactions in a block identified by height using getblockhash followed by getblock (verbosity 1).

Parameters

NameInTypeRequiredDescription
blockNumberpathinteger(int64)trueBlock height in the best chain (non-negative integer).

Example responses

200 Response

{
  "transactionCount": 2500
}

Responses

StatusMeaningDescriptionSchema
200OKNumber of transactions in the blockInline
400Bad RequestInvalid block number (negative)Inline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» transactionCountinteger(int64)Β¦nullfalsenoneNumber of transactions (nTx) in the block, or null if unavailable.

Status Code 400

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get transaction count in block by hash

Code samples

GET /api/v1/btc/block/hash/{blockHash}/transactions/count

Returns the number of transactions in a block identified by hash using getblock with verbosity 1.

Parameters

NameInTypeRequiredDescription
blockHashpathstringtrueBitcoin block hash.

Example responses

200 Response

{
  "transactionCount": 2500
}

Responses

StatusMeaningDescriptionSchema
200OKNumber of transactions in the blockInline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» transactionCountinteger(int64)Β¦nullfalsenoneNumber of transactions (nTx) in the block, or null if unavailable.
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

List BTC addresses managed by node wallet

Code samples

GET /api/v1/btc/account

Returns a list of wallet addresses and their received amounts using the listreceivedbyaddress Bitcoin JSON-RPC method.

Parameters

NameInTypeRequiredDescription
minconfqueryinteger(int32)falseMinimum number of confirmations required for payments.
includeEmptyquerybooleanfalseWhether to include addresses with no transactions.
includeWatchOnlyquerybooleanfalseWhether to include watch-only addresses.

Example responses

200 Response

[
  {
    "address": "string",
    "amount": 0.1,
    "confirmations": 0,
    "label": "string",
    "txids": [
      "string"
    ]
  }
]

Responses

StatusMeaningDescriptionSchema
200OKArray of addresses known to the node walletInline
400Bad RequestInvalid minconf parameter (negative)Inline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
anonymous[BtcReceivedByAddress]falsenone[Entry returned by listreceivedbyaddress.]
Β» addressstringfalsenoneBitcoin address.
Β» amountnumber(double)falsenoneTotal amount received by this address in BTC.
Β» confirmationsinteger(int64)falsenonenone
» labelstring¦nullfalsenonenone
Β» txids[string]falsenonenone

Status Code 400

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get BTC received amount for address

Code samples

GET /api/v1/btc/account/{address}/balance

Returns the total amount received by a given address using getreceivedbyaddress. Note that this requires the address to belong to the node's wallet.

Parameters

NameInTypeRequiredDescription
addresspathstringtrueBitcoin address (Base58 or Bech32) managed by the node wallet.
minconfqueryinteger(int32)falseMinimum number of confirmations required for payments.

Example responses

200 Response

{
  "address": "bc1qexampleaddress0000000000000000000000000",
  "minconf": 1,
  "balance": 0.12345678
}

Responses

StatusMeaningDescriptionSchema
200OKBTC received amount for the addressInline
400Bad RequestInvalid minconf parameter (negative)Inline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» addressstringfalsenonenone
Β» minconfinteger(int32)falsenonenone
Β» balancenumber(double)falsenoneTotal amount received by the address in BTC.

Status Code 400

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Get Bitcoin transaction by hash

Code samples

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

Returns transaction details using the getrawtransaction method with verbose output.

Parameters

NameInTypeRequiredDescription
hashpathstringtrueBitcoin transaction hash (txid).

Example responses

200 Response

{
  "txid": "string",
  "hash": "string",
  "version": 0,
  "size": 0,
  "vsize": 0,
  "weight": 0,
  "locktime": 0,
  "blockhash": "string",
  "confirmations": 0,
  "time": 0,
  "blocktime": 0,
  "hex": "string",
  "vin": [
    {
      "txid": "string",
      "vout": 0,
      "coinbase": "string",
      "scriptSig": {
        "asm": "string",
        "hex": "string"
      },
      "sequence": 0
    }
  ],
  "vout": [
    {
      "value": 0.1,
      "n": 0,
      "scriptPubKey": {
        "asm": "string",
        "hex": "string",
        "type": "string",
        "reqSigs": 0,
        "addresses": [
          "string"
        ]
      }
    }
  ]
}

Responses

StatusMeaningDescriptionSchema
200OKBitcoin transactionBtcTransaction
404Not FoundTransaction not foundInline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 404

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Send pre-signed raw Bitcoin transaction

Code samples

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

Sends a signed, hex-encoded Bitcoin transaction using the sendrawtransaction JSON-RPC method.

Body parameter

{
  "rawTransaction": "020000000001...",
  "signedTransaction": "020000000001..."
}

Parameters

NameInTypeRequiredDescription
bodybodyobjecttruenone
Β» rawTransactionbodystringtrueSigned and hex-encoded Bitcoin transaction.
Β» signedTransactionbodystringfalseAlternative field name accepted by the API (alias of rawTransaction).

Example responses

200 Response

{
  "transactionHash": "4e3b5a8f5e6e2b1c9d0f4c2a1b0e9d8c7b6a5f4e3d2c1b0a9f8e7d6c5b4a3f2"
}

Responses

StatusMeaningDescriptionSchema
200OKTransaction hash returned by nodeInline
422Unprocessable EntityInvalid request body (missing or invalid rawTransaction)Inline
500Internal Server ErrorCould not connect to BTC nodeNone

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
Β» transactionHashstringfalsenoneTransaction hash (txid) returned by sendrawtransaction.

Status Code 422

NameTypeRequiredRestrictionsDescription
Β» errorstringfalsenonenone
To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Generic JSON-RPC proxy to BTC node

Code samples

POST /api/v1/btc/jsonrpc

Proxies any valid Bitcoin JSON-RPC 1.0 request to the configured BTC node. The request body is forwarded as-is and the node's response is returned.

Body parameter

{
  "jsonrpc": "1.0",
  "method": "getblockchaininfo",
  "params": [
    null
  ],
  "id": null
}

Parameters

NameInTypeRequiredDescription
bodybodyanytruenone

Example responses

200 Response

{}

Responses

StatusMeaningDescriptionSchema
200OKJSON-RPC response from BTC nodeInline
500Internal Server ErrorBTC node URL or credentials are not configuredBtcJsonRpcError
502Bad GatewayFailed to connect to BTC nodeBtcJsonRpcError

Response Schema

To perform this operation, you must be authenticated by means of one of the following methods: ApiKeyAuth

Schemas

BtcBlock

{
  "hash": "string",
  "confirmations": 0,
  "height": 0,
  "version": 0,
  "versionHex": "string",
  "merkleroot": "string",
  "time": 0,
  "mediantime": 0,
  "nonce": 0,
  "bits": "string",
  "difficulty": 0.1,
  "chainwork": "string",
  "nTx": 0,
  "strippedsize": 0,
  "size": 0,
  "weight": 0,
  "previousblockhash": "string",
  "nextblockhash": "string",
  "tx": [
    "string"
  ]
}

Bitcoin block object as returned by getblock with verbosity 1 or 2.

Properties

NameTypeRequiredRestrictionsDescription
hashstringfalsenoneHash of the block.
confirmationsinteger(int64)falsenoneNumber of confirmations for the block.
heightinteger(int64)falsenoneBlock height.
versionintegerfalsenoneBlock version.
versionHexstringfalsenonenone
merklerootstringfalsenoneMerkle root of the block's transactions.
timeinteger(int64)falsenoneBlock time in seconds since Unix epoch.
mediantimeinteger(int64)falsenonenone
nonceinteger(int64)falsenonenone
bitsstringfalsenonenone
difficultynumber(double)falsenonenone
chainworkstringfalsenonenone
nTxinteger(int64)falsenoneNumber of transactions in the block.
strippedsizeinteger(int64)falsenonenone
sizeinteger(int64)falsenonenone
weightinteger(int64)falsenonenone
previousblockhashstring¦nullfalsenonenone
nextblockhashstring¦nullfalsenonenone
tx[oneOf]falsenoneTransactions included in the block. When verbosity=2, this is an array of full transaction objects; otherwise it may be an array of transaction IDs.

oneOf

NameTypeRequiredRestrictionsDescription
Β» anonymousstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
Β» anonymousBtcTransactionfalsenoneBitcoin transaction object as returned by getrawtransaction with verbose=true.

BtcTransaction

{
  "txid": "string",
  "hash": "string",
  "version": 0,
  "size": 0,
  "vsize": 0,
  "weight": 0,
  "locktime": 0,
  "blockhash": "string",
  "confirmations": 0,
  "time": 0,
  "blocktime": 0,
  "hex": "string",
  "vin": [
    {
      "txid": "string",
      "vout": 0,
      "coinbase": "string",
      "scriptSig": {
        "asm": "string",
        "hex": "string"
      },
      "sequence": 0
    }
  ],
  "vout": [
    {
      "value": 0.1,
      "n": 0,
      "scriptPubKey": {
        "asm": "string",
        "hex": "string",
        "type": "string",
        "reqSigs": 0,
        "addresses": [
          "string"
        ]
      }
    }
  ]
}

Bitcoin transaction object as returned by getrawtransaction with verbose=true.

Properties

NameTypeRequiredRestrictionsDescription
txidstringfalsenoneTransaction ID.
hashstringfalsenonenone
versionintegerfalsenonenone
sizeintegerfalsenonenone
vsizeintegerfalsenonenone
weightintegerfalsenonenone
locktimeintegerfalsenonenone
blockhashstring¦nullfalsenonenone
confirmationsinteger(int64)Β¦nullfalsenonenone
timeinteger(int64)Β¦nullfalsenonenone
blocktimeinteger(int64)Β¦nullfalsenonenone
hexstringfalsenoneRaw hex-encoded transaction.
vin[BtcVin]falsenone[Transaction input (vin) entry.]
vout[BtcVout]falsenone[Transaction output (vout) entry.]

BtcVin

{
  "txid": "string",
  "vout": 0,
  "coinbase": "string",
  "scriptSig": {
    "asm": "string",
    "hex": "string"
  },
  "sequence": 0
}

Transaction input (vin) entry.

Properties

NameTypeRequiredRestrictionsDescription
txidstring¦nullfalsenonenone
voutinteger¦nullfalsenonenone
coinbasestring¦nullfalsenonenone
scriptSigobject¦nullfalsenonenone
Β» asmstringfalsenonenone
Β» hexstringfalsenonenone
sequenceinteger(int64)falsenonenone

BtcVout

{
  "value": 0.1,
  "n": 0,
  "scriptPubKey": {
    "asm": "string",
    "hex": "string",
    "type": "string",
    "reqSigs": 0,
    "addresses": [
      "string"
    ]
  }
}

Transaction output (vout) entry.

Properties

NameTypeRequiredRestrictionsDescription
valuenumber(double)falsenoneValue in BTC.
nintegerfalsenoneOutput index.
scriptPubKeyobjectfalsenonenone
Β» asmstringfalsenonenone
Β» hexstringfalsenonenone
Β» typestringfalsenonenone
» reqSigsinteger¦nullfalsenonenone
Β» addresses[string]Β¦nullfalsenonenone

BtcReceivedByAddress

{
  "address": "string",
  "amount": 0.1,
  "confirmations": 0,
  "label": "string",
  "txids": [
    "string"
  ]
}

Entry returned by listreceivedbyaddress.

Properties

NameTypeRequiredRestrictionsDescription
addressstringfalsenoneBitcoin address.
amountnumber(double)falsenoneTotal amount received by this address in BTC.
confirmationsinteger(int64)falsenonenone
labelstring¦nullfalsenonenone
txids[string]falsenonenone

BtcJsonRpcRequest

{
  "jsonrpc": "1.0",
  "method": "getblockchaininfo",
  "params": [
    null
  ],
  "id": null
}

Generic Bitcoin JSON-RPC 1.0 request.

Properties

NameTypeRequiredRestrictionsDescription
jsonrpcstringfalsenonenone
methodstringtruenoneBitcoin JSON-RPC method name (e.g. getblockchaininfo).
params[any]truenonePositional parameters for the method.
idanyfalsenoneRequest identifier (string, number, or null).

BtcJsonRpcError

{
  "error": {
    "code": -32603,
    "message": "Failed to connect to BTC node"
  }
}

Error response used when BTC JSON-RPC proxy fails.

Properties

NameTypeRequiredRestrictionsDescription
errorobjectfalsenonenone
Β» codeintegerfalsenonenone
Β» messagestringfalsenonenone