ETH Price: $1,858.15 (-1.00%)Gas: 0.020 GweiBase: 0.0204 GweiPriority: 0.0000 GweiTotal: 0.0204 Gwei

API Documentation

An Etherscan-compatible read API for Robinhood Chain. Base URL:

https://hoodexplorer.org/api

Requests: GET /api?module=<module>&action=<action>&…&apikey=<key>. Every module below returns { status: "1"|"0", message, result }status is the string "1" on success, "0" on error (with a human-readable message and result: null). The one exception is the Proxy module, which returns a raw JSON-RPC 2.0 envelope instead, matching Etherscan's own proxy behavior.

Keyless access works at 60 req/min per IP; an apikey (any non-empty string today — full key issuance is not yet gated) raises it to 600/min. CORS is fully open, so you can call this directly from browser JS. Pagination params (page, offset, sort) work identically across every list-returning endpoint: offset is rows-per-page (max 1000, default 100),page is 1-indexed, sort is asc or desc (default desc, newest first).

Account
Get ETH Balancemodule=account&action=balance
ParamRequiredNotes
addressrequired0x… address to query
result: string — wei balance
Live on-chain balance (eth_getBalance), not indexed.
/api?module=account&action=balance&address=0x0bd7d308f8e1639fab988df18a8011f41eacad73
Get ETH Balance (Multi)module=account&action=balancemulti
ParamRequiredNotes
addressrequiredcomma-separated addresses, max 20
result: [{ account, balance }]
One live balance lookup per address.
/api?module=account&action=balancemulti&address=0x0bd7d308f8e1639fab988df18a8011f41eacad73,0x45242320dbb855eea8fd36804c6487e10e97fcf9
Normal Transactionsmodule=account&action=txlist
ParamRequiredNotes
addressrequired
pageoptionaldefault 1
offsetoptionalrows per page, max 1000, default 100
sortoptionalasc | desc (default desc)
result: [{ blockNumber, timeStamp, hash, from, to, value, gasUsed, gasPrice, isError, contractAddress, methodId }]
Top-level transactions where address is sender or recipient, indexed from `transactions`.
/api?module=account&action=txlist&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9&page=1&offset=25&sort=desc
Internal Transactionsmodule=account&action=txlistinternal
ParamRequiredNotes
addressone of address/txhash requiredinternal txns touching this address
txhashone of address/txhash requiredinternal txns for one parent tx instead
pageoptional
offsetoptional
sortoptionalasc | desc
result: [{ blockNumber, timeStamp, hash, from, to, value, contractAddress, input, type, gas, gasUsed, isError, errCode }]
Decoded call-tree entries (CALL/CREATE/CREATE2/DELEGATECALL/…) from our own tracer — not limited to value transfers.
/api?module=account&action=txlistinternal&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9&offset=25
ERC-20 Token Transfersmodule=account&action=tokentx
ParamRequiredNotes
addressrequired
pageoptional
offsetoptional
sortoptional
result: [{ blockNumber, timeStamp, hash, from, to, contractAddress, value, logIndex }]
ERC-20 Transfer events touching this address, from `token_transfers`.
/api?module=account&action=tokentx&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9&offset=25
NFT (ERC-721) Transfersmodule=account&action=tokennfttx
ParamRequiredNotes
addressrequired
pageoptional
offsetoptional
sortoptional
result: [{ blockNumber, timeStamp, hash, from, to, contractAddress, value, tokenID, logIndex }]
Same as tokentx but filtered to standard=erc721; tokenID is populated instead of value.
/api?module=account&action=tokennfttx&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9
ERC-20 Token Balancemodule=account&action=tokenbalance
ParamRequiredNotes
contractaddressrequiredthe token contract
addressrequiredthe holder
result: string — raw token balance (wei-equivalent)
Live balanceOf() call, not indexed.
/api?module=account&action=tokenbalance&contractaddress=0x45242320dbb855eea8fd36804c6487e10e97fcf9&address=0xd9ec2db5f3d1b236843925949fe5bd8a3836fccb
Blocks Minedmodule=account&action=getminedblocks
ParamRequiredNotes
addressrequiredfee-recipient / sequencer address
pageoptional
offsetoptional
result: [{ blockNumber, timeStamp, blockReward }]
Blocks where this address is the fee recipient. blockReward is always "0" (this chain has no block-reward issuance — fees go to the recipient directly, already reflected in balance).
/api?module=account&action=getminedblocks&address=0xa4b000000000000000000073657175656e636572&offset=10
Contracts
Get Contract ABImodule=contract&action=getabi
ParamRequiredNotes
addressrequired
result: string — JSON-encoded ABI array
Only populated for contracts verified on hoodexplorer (own verifier, not a mirror).
/api?module=contract&action=getabi&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9
Get Contract Source Codemodule=contract&action=getsourcecode
ParamRequiredNotes
addressrequired
result: [{ SourceCode, ABI, ContractName, CompilerVersion, OptimizationUsed, Runs, EVMVersion, LicenseType, Proxy, Implementation }]
ABI/SourceCode are empty strings (not omitted) when unverified, matching Etherscan's exact shape for that case.
/api?module=contract&action=getsourcecode&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9
Get Contract Creator + Creation Txmodule=contract&action=getcontractcreation
ParamRequiredNotes
contractaddressesrequiredcomma-separated, max 5
result: [{ contractAddress, contractCreator, txHash }]
Resolves via a direct deployment tx first, falling back to an internal CREATE/CREATE2 trace for factory-deployed contracts. Addresses with neither are omitted from the result array.
/api?module=contract&action=getcontractcreation&contractaddresses=0x45242320dbb855eea8fd36804c6487e10e97fcf9,0x0bd7d308f8e1639fab988df18a8011f41eacad73
Transactions
Check Transaction Receipt Statusmodule=transaction&action=gettxreceiptstatus
ParamRequiredNotes
txhashrequired
result: { status, isError }
"status" is the raw receipt status ("1" success / "0" reverted) as a string; empty string if the tx isn't indexed.
/api?module=transaction&action=gettxreceiptstatus&txhash=0xbccedf346a8e7b5ff871d4c521ae996e89606e939788ba753f4643737c26f6ea
Blocks
Get Block Reward + Infomodule=block&action=getblockreward
ParamRequiredNotes
blocknorequired
result: { blockNumber, timeStamp, blockMiner, blockReward, uncles, uncleInclusionReward }
blockReward is always "0" and uncles always [] — this chain has no PoW/uncle concept; blockMiner is the fee recipient.
/api?module=block&action=getblockreward&blockno=15000000
Get Block Number by Timestampmodule=block&action=getblocknobytime
ParamRequiredNotes
timestamprequiredunix seconds
closestoptionalbefore | after (default before)
result: string — block number
Nearest indexed block at or before/after the given timestamp.
/api?module=block&action=getblocknobytime&timestamp=1753142400&closest=before
Logs
Get Event Logsmodule=logs&action=getlogs
ParamRequiredNotes
addressoptionalfilter to one emitting contract
topic0optionalfilter to one event signature hash
fromBlockoptionaldefault 0
toBlockoptionaldefault latest
pageoptional
offsetoptional
result: [{ address, topics, data, blockNumber, transactionHash, logIndex }]
At least one of address/topic0 is strongly recommended — an unfiltered scan across all logs will be slow.
/api?module=logs&action=getlogs&address=0x45242320dbb855eea8fd36804c6487e10e97fcf9&fromBlock=15000000&toBlock=15100000
Tokens
Token Infomodule=token&action=tokeninfo
ParamRequiredNotes
contractaddressrequired
result: [{ contractAddress, tokenName, symbol, divisor, tokenType }]
divisor is 10^decimals (e.g. "1000000000000000000" for 18 decimals), matching Etherscan's field name.
/api?module=token&action=tokeninfo&contractaddress=0x45242320dbb855eea8fd36804c6487e10e97fcf9
Token Total Supplymodule=stats&action=tokensupply
ParamRequiredNotes
contractaddressrequired
result: string — raw total supply
Live totalSupply() call, not indexed.
/api?module=stats&action=tokensupply&contractaddress=0x45242320dbb855eea8fd36804c6487e10e97fcf9
Token Holder Listmodule=token&action=tokenholderlist
ParamRequiredNotes
contractaddressrequired
pageoptional
offsetoptional
result: [{ TokenHolderAddress, TokenHolderQuantity }]
Ordered by balance descending.
/api?module=token&action=tokenholderlist&contractaddress=0x45242320dbb855eea8fd36804c6487e10e97fcf9&offset=25
Token Holder Countmodule=token&action=tokenholdercount
ParamRequiredNotes
contractaddressrequired
result: string — holder count
From the periodically-refreshed token_holder_counts cache (near-live, not per-request exact).
/api?module=token&action=tokenholdercount&contractaddress=0x45242320dbb855eea8fd36804c6487e10e97fcf9
Stats & Gas
ETH Last Pricemodule=stats&action=ethprice
result: { ethusd, ethusd_timestamp }
Sourced from the same feed the site's own header ETH price uses.
/api?module=stats&action=ethprice
Gas Oraclemodule=gastracker&action=gasoracle
result: { SafeGasPrice, ProposeGasPrice, FastGasPrice }
Gwei strings. Fast = 1.2× the hourly average; this chain's gas is near-flat, so Safe/Propose are usually equal.
/api?module=gastracker&action=gasoracle
Proxy (raw JSON-RPC)
Any eth_* methodmodule=proxy&action=eth_blockNumber
ParamRequiredNotes
paramsoptionalJSON-encoded array, e.g. params=["0x…"]
result: Raw JSON-RPC 2.0 envelope: { jsonrpc, id, result }
Passthrough to our archive node for any read-only eth_* method — not the { status, message, result } envelope the other modules use.
/api?module=proxy&action=eth_blockNumber&params=[]
Drop-in compatible with Etherscan-style client libraries — point their base URL at https://hoodexplorer.org/api. Same module/action params and { status, message, result } envelope (proxy module excepted, see above).