API Status · Login ·

API Documentation

Public REST API for the Verus blockchain explorer. No authentication required for basic access.

Base URL: https://scan.verus.cx Chains: VRSC, vARRR, vDEX, CHIPS Rate: 100 req/min LLM/curl: curl scan.verus.cx/api/

Need higher limits or a personal key?

Log in with your VerusID to generate, regenerate, or revoke API keys. Keys are tied to your VerusID — no email needed.

Log in with VerusID

Access Tiers

Rate limits use a weighted credit system. Light endpoints (cached) cost 1 credit, DB queries cost 2, RPC-backed cost 5.

FREE No key

60 credits/min

  • All explorer endpoints (blocks, tx, addresses, identities)
  • Market data, oracle prices, volume, baskets
  • Network stats, search
  • No conversion estimates (RPC-backed)
DEVELOPER Free API key

150 credits/min

  • All endpoints including conversion estimates
  • Usage tracking + dashboard
  • = 150 cached reads, or 75 DB queries, or 30 RPC calls per minute
PRO Paid in VRSC (coming soon)

500 credits/min

  • All endpoints + webhook notifications
  • Priority queue, higher concurrency
  • = 500 cached reads, or 250 DB queries, or 100 RPC calls per minute

Endpoint weights

Light (1 credit)

market/protocol, currencies, baskets, volume, vrsc-pools, oracle/prices, stats, search, health

Medium (2 credits)

blocks, tx, address history, identity, conversions, bridge, richlist, stakes, pairs, reserve history

Heavy (5 credits)

address/balance (RPC), market/estimate, market/best-conversion, /raw endpoints

Market Data & DeFi

Prices, baskets, volume, liquidity — powered by the oracle and conversion database.

GET
/api/market/protocol

Protocol summary: TVL, identities, currencies, baskets, chains, VRSC in pools, volume, trades, fees

GET
/api/market/overview

Dashboard data with top movers, top baskets, and volume history

GET
/api/market/currencies

All priced currencies with price, 24h change, volume, liquidity, sparkline

GET
/api/market/pairs

All trading pairs with price, OHLC, volume, liquidity

GET
/api/market/baskets

All active baskets sorted by TVL with full reserve breakdown

GET
/api/market/baskets/:id/reserves?days=7

Reserve balance time series (up to 200 data points)

GET
/api/market/baskets/:id/volume?days=30

Daily volume and fees through a specific basket

GET
/api/market/volume?period=daily|weekly|monthly

Volume time series for the markets chart (default daily, 30 days)

GET
/api/market/prices/:name/history?days=N

Per-currency USD price history (used by the markets currencies chart)

GET
/api/market/vrsc-pools

VRSC distribution across all baskets with USD values

GET
/api/market/estimate?from=VRSC&to=tBTC.vETH&amount=100

Estimate conversion output (RPC-backed)

GET
/api/market/best-conversion?from=VRSC&to=tBTC.vETH&amount=100

Compare rates across all eligible baskets

GET
/api/oracle/prices

All oracle-priced currencies with confidence and depth

GET
/api/oracle/prices/:id

Single currency price with per-basket breakdown

GET
/api/oracle/prices/:id/history?hours=24

Price history snapshots

Explorer

Block, transaction, address, identity, and currency data. Compatible with existing Verus explorer APIs.

GET
/api/blocks/?chain=vrsc&page=1&pageSize=25

Paginated block list

GET
/api/blocks/:height?chain=vrsc

Block detail by height

GET
/api/blocks/:height/raw?chain=vrsc

Raw block with decoded transactions

GET
/api/tx/:txid?chain=vrsc

Transaction detail

GET
/api/tx/:txid/raw?chain=vrsc

Raw transaction (RPC-compatible format)

GET
/api/address/:addr?chain=vrsc

Address transaction history

GET
/api/address/:addr/balance

Address balance

GET
/api/address/:addr/rewards

Mining and staking rewards

GET
/api/address/:addr/conversions

DeFi conversions with full filter support

GET
/api/identity/

Paginated identity list

GET
/api/identity/stats

Identity counts per chain

GET
/api/identity/:nameOrId

Identity detail by name or i-address

GET
/api/identity/:nameOrId?height=&key=

Identity detail with optional historical state and multimap key filter

GET
/api/identity/:nameOrId/multimap?key=&height=

ContentMultimap data with optional key filter and historical state

GET
/api/identity/:nameOrId/changes

Audit trail: diffs of what changed at each identity update

GET
/api/identity/:nameOrId/referrals

Sub-ID referral tree (3 levels)

GET
/api/currency/:nameOrId

Currency definition detail

GET
/api/conversions/

Conversion list with USD values and filters

GET
/api/conversions/filters

Available filter options

GET
/api/bridge/recent

VRSC-ETH bridge transfers

GET
/api/richlist/top?limit=100

Top VRSC holders

GET
/api/stakes/

Staking transactions

GET
/api/search/?q=query

Universal search

Network Stats

Chain sync status, mining stats, charts, and service health.

GET
/api/stats/

Sync height and transaction count

GET
/api/stats/network

Hashrate, difficulty, PoS/PoW ratio, block time

GET
/api/stats/charts?metric=difficulty&period=30d

Chart data for difficulty, transactions, conversions

GET
/api/stats/pulse

Live block feed across all chains

GET
/api/stats/status

Service health and indexer state

GET
/api/health

Health check

JSON-RPC

Wire-compatible drop-in for api.verus.services. Same method shapes, same error codes, same JSON-RPC 1.0/2.0 envelope. Works with verusid-ts-client, Verus-Mobile, verus-desktop, and any client that already speaks verusd. ~90 whitelisted methods, plus extensions only scan can serve.

Endpoints — one per chain

POST
https://rpc.verus.cx/

VRSC (short form — default chain)

POST
https://vrsc.rpc.verus.cx/

VRSC

POST
https://varrr.rpc.verus.cx/

vARRR

POST
https://vdex.rpc.verus.cx/

vDEX

POST
https://chips.rpc.verus.cx/

CHIPS

Alternate paths on scan.verus.cx (same handlers)

POST
https://scan.verus.cx/

VRSC (drop-in for api.verus.services — same wire format, just a hostname change)

WSS
/api/ws

WebSocket — real-time block notifications across all chains

Example
curl -X POST https://rpc.verus.cx/ \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"1.0","id":1,"method":"getblockcount","params":[]}'
→ {"id":1,"result":4068463}

Content-Type: both application/json and text/plain accepted. Batch up to 5 requests per call.

All methods (87)

3 served from scan's Postgres index · 84 proxied to verusd.

coinsupply daemon
convertpassphrase daemon
createmultisig daemon
createrawtransaction daemon
decoderawtransaction daemon
decodescript daemon
decryptdata daemon
definecurrency daemon
estimateconversion daemon
estimatefee daemon
estimatepriority daemon
getaddressbalance daemon
getaddressdeltas daemon
getaddressmempool daemon
getaddresstxids daemon
getaddressutxos daemon
getbestblockhash DB
getbestproofroot daemon
getblock daemon
getblockchaininfo daemon
getblockcount DB
getblockdeltas daemon
getblockhash DB
getblockhashes daemon
getblockheader daemon
getblocksubsidy daemon
getchaintips daemon
getchaintxstats daemon
getcurrency daemon
getcurrencybalance daemon
getcurrencyconverters daemon
getcurrencystate daemon
getcurrencytrust daemon
getdeprecationinfo daemon
getdifficulty daemon
getexports daemon
getidentitieswithaddress daemon
getidentitieswithrecovery daemon
getidentitieswithrevocation daemon
getidentity daemon
getidentitycontent daemon
getidentitytrust daemon
getimports daemon
getinfo daemon
getinitialcurrencystate daemon
getlastimportfrom daemon
getlaunchinfo daemon
getlocalsolps daemon
getmempoolinfo daemon
getminingdistribution daemon
getmininginfo daemon
getnetworkhashps daemon
getnetworkinfo daemon
getnetworksolps daemon
getnotarizationdata daemon
getnotarizationproofs daemon
getoffers daemon
getpendingtransfers daemon
getrawmempool daemon
getrawtransaction daemon
getreservedeposits daemon
getsaplingtree daemon
getsnapshot daemon
getspentinfo daemon
gettxout daemon
gettxoutproof daemon
gettxoutsetinfo daemon
getvdxfid daemon
hashdata daemon
help daemon
listcurrencies daemon
listidentities daemon
listopenoffers daemon
recoveridentity daemon
registeridentity daemon
registernamecommitment daemon
revokeidentity daemon
sendcurrency daemon
sendrawtransaction daemon
setidentitytimelock daemon
updateidentity daemon
validateaddress daemon
verifychain daemon
verifyhash daemon
verifymessage daemon
verifysignature daemon
verifytxoutproof daemon

Verus Scan only (6)

Extension methods only scan serves. A stock verusd doesn't have these.

Method
getbalanceall
getbridgetransfers
getidentityhistory
getoptimalroute
getsubidentities
gettxhistoryrich

USD Pricing Methodology

How USD values are derived for all conversions, prices, and volume data.

Price Derivation (tiered, in priority order)

1
Stablecoin direct — DAI, USDT, USDC side of a trade valued at $1
2
VRSC via Bridge.vETH — dai_priceinreserve / vrsc_priceinreserve from basket reserves
3
2-hop via VRSC — currency/VRSC ratio from a shared basket, then VRSC to USD
4
Basket NAV — sum of reserve values / basket supply
5
External data — SafeTrade VRSC/USDT candles for the pre-bridge era (before Aug 2024)

Key Design Decisions

priceinreserve is used instead of raw reserve ratios — it correctly handles unequal basket weights (e.g. Floralis has VRSC at 20%, scrvUSD at 5%).

Per-trade stamping — each conversion is stamped with USD at the exact block height, not hourly or daily averages.

UTC day boundaries ��� all volume, trade counts, and fees use midnight-to-midnight UTC for CMC/CoinGecko compatibility.

Validation — every price is cross-checked: if from_usd and to_usd disagree by more than 10%, the stablecoin-derived side is preferred.

Oracle accuracy — reserve-derived pricing gives ~0.3% error vs trade execution pricing (~2%+ error from AMM slippage).

Live vs Historical Stamping

Live (2026-04-24 onward) — conversions are stamped at index time using the on-chain pricing oracle. Both sides priced independently per currency; spread between sides is near-zero by construction.

Historical (before 2026-04-24) — stamped via a one-time backfill using chain-internal basket math, since the oracle did not yet exist. The tiered methodology above applies, with these additional rules:

  • For convs where one side is VRSC or a stablecoin (a deep external anchor), that side's USD is treated as truth.
  • When a basket itself appears as a currency (preconvert / redeem), the basket's NAV is computed from its at-target reserves.
  • When chain math gives a per-unit price outside real-world bounds (e.g. VRSC>$8, tBTC>$150K), the trustworthy anchor side is mirrored to both columns.
  • If the chain executed at >50% off-market and no anchor exists, the conv is marked refunded if no delivery was found at the destination address.

Best-effort caveat — historical stamps reflect the chain's view of value at each block. They can diverge from external market prices during off-target basket periods. Aggregate accuracy is high (verified per-currency against Binance/external sources within ±5% for tBTC/vETH/MKR); individual conversion stamps may vary on thin-liquidity baskets.

Coverage

2.27M+ conversions stamped with USD values across 4 chains. 100% coverage of completed conversions.

Oracle prices update every 60 seconds from on-chain basket reserves.

Reserve state snapshots every 5 minutes for historical trend analysis.