目前还没有专用的 API 地址
本页是约定,而非邀请。下面每个端点都存在并会应答。今天为它们服务的唯一地址,就是本站自己的页面渲染时所用的那条路径,而那并不是一个已公布的 API 地址:尚未公布 API 主机名,也不存在 API 密钥系统。
它会被正式开放。没有日期,本页也不会编造一个:当专用 API 主机名发布时,基础 URL 会出现在这张卡片里,而本提示将会消失。
你在 Arcscan 上读到的任何内容都不依赖于它。页面由我们自己的服务器通过那个内网地址渲染,因此无论公开 API 是否开放,每一个页面都完全一样。
类型化 API 位于 /v1。本站自身就是从这套接口渲染的,因此页面上看得到的任何内容,都能以相同结构读成 JSON。
兼容 API 位于 /api?module=…&action=…。它复刻了钱包、索引器、部署脚本和机器人早已通用的事实标准浏览器 REST 约定,因此现有工具只需换一个 base URL 就能指向 Arc。result 中的每个标量都是字符串,完全符合该约定的要求。
GET /v1/blocks/latest GET /api?module=proxy&action=eth_blockNumber GET /api?module=account&action=balance&address=0x…
上面的示例是方法与路径,前面没有主机名。目前还没有已公布的 API 基础 URL 可写 — 参见本页顶部的提示。
| 方法 | 路径 | 参数 | 返回 | 缓存 |
|---|---|---|---|---|
| GET | /v1/chain | — | Chain identity, native and ERC-20 decimals, the live node capability map (including internal_transactions), and index coverage with its own plain-language summary |
/v1/stream/head 是一个 server-sent event 流,每提交一个区块就发出一个 head 事件。负载中带有 server_now,客户端可据此校正时钟偏差,而不必相信浏览器时钟。
event: head data: {"height":54190133,"hash":"0x…","timestamp":1785345456,"tx_count":11,"server_now":1785345456}
没有待处理交易流。本链禁用了 mempool 命名空间,而在半秒出块的情况下,待处理视图显示一笔交易的时间,比读完它所需的时间还短。
信封:{"status":"1","message":"OK","result":…}。有效但为空的答复返回 {"status":"0","message":"No transactions found","result":[]},错误则返回 {"status":"0","message":"NOTOK","result":"Error! …"}。module=proxy 改为返回裸的 JSON-RPC 信封。GET 与 form-encoded POST 均可接受。
| 方法 | 路径 | 参数 | 返回 | 缓存 |
|---|---|---|---|---|
| GET |
它们会以 HTTP 200 返回标准错误信封——绝不返回 404,以免客户端库直接崩溃。每一个都带着自己的原因,而不是同一句套话:我们没有构建的索引、Arc 本身的结构性特征,或者换了个名字的可用端点。
两个 NFT 历史操作是最常被调用的,但都无法按地址作答。ERC-20 对应的 account.tokentx 可以作答,但需要显式给出 startblock 和 endblock。
错误码:INVALID_INPUT(400)、NOT_FOUND(404)、RATE_LIMITED(429)、CAPABILITY_UNAVAILABLE(501)、UPSTREAM_ERROR(502)、UPSTREAM_TIMEOUT(504)。
| GET | /v1/home | blocks?, txs? | Everything the home page renders: head, stats, latest blocks and transactions | no-store |
| GET | /v1/stats/summary | — | Latest height, measured block time, throughput and average fee | no-store |
| GET | /v1/stats/gas | — | Base fee, priority-fee percentiles, and the true cost of a transfer and a swap | no-store |
| GET | /v1/stream/head | — | Server-sent events — one `head` event per committed block, carrying `server_now` | stream |
| GET | /v1/blocks | cursor?, limit? | Paged block summaries, newest first | 1s |
| GET | /v1/blocks/{ref} | ref | Full block detail. `ref` is a height, a 0x-hash or `latest` | immutable |
| GET | /v1/blocks/{ref}/txs | ref, cursor?, limit? | Transactions in one block | immutable |
| GET | /v1/txs | cursor?, limit? | Paged transaction summaries, newest first | 1s |
| GET | /v1/txs/{tx_hash} | tx_hash | Transaction detail with decoded transfers and logs | immutable |
| GET | /v1/txs/{tx_hash}/trace | tx_hash, format?, cursor?, limit? | Call tree. Heavy — runs on a dedicated pool with a wall-clock budget | immutable |
| GET | /v1/txs/{tx_hash}/state | tx_hash, cursor?, limit? | Balance, nonce and storage diff. Needs pre-block state, so bounded by pruning | immutable |
| GET | /v1/txs/{tx_hash}/raw | tx_hash | Verbatim node JSON for the transaction and its receipt | immutable |
| GET | /v1/address/{addr} | addr | Balance at a pinned height, nonce, code, proxy probe and creation record | 5s |
| GET | /v1/address/{addr}/activity | addr, cursor?, limit?, kind?, token? | Value flow reconstructed from logs over an explicitly stated block window | 5s |
| GET | /v1/address/{addr}/logs | addr, cursor?, limit?, topic0? | Logs emitted by or referencing the address | 5s |
| GET | /v1/address/{addr}/tokens | addr, sort? | Token balances observed in the scanned window | 5s |
| GET | /v1/address/{addr}/contract | addr | Bytecode, proxy probe and creation record | 30s |
| GET | /v1/address/{addr}/txs | addr, cursor?, limit? | 501 CAPABILITY_UNAVAILABLE — an address's transaction history is not listable here | — |
| GET | /v1/tokens/{addr} | addr | Token metadata read from the contract, plus supply | 30s |
| GET | /v1/tokens/{addr}/transfers | addr, cursor?, limit? | Transfers over an explicitly stated block window | 5s |
| GET | /v1/tokens/{addr}/holders | addr, cursor?, limit? | 501 CAPABILITY_UNAVAILABLE — a complete holder list is not available here | — |
| GET | /v1/search | q | Exact resolution to a destination, or a disambiguation list | 5s |
| GET | /v1/search/suggest | q?, limit? | Partial and name-prefix matches, for type-ahead | 5s |
| POST | /v1/decode | — | Selector and, where the signature is known, the decoded call | — |
| GET | /v1/export/limits | — | The export row cap, block-span cap and rate limit, plus the indexed range | — |
| GET | /v1/export/resolve | from_date?, to_date?, from_block?, to_block? | A date range mapped onto blocks, with `exact` false where a bound was clamped rather than resolved | — |
| GET | /v1/export/{dataset}/csv | dataset, address, from_block?, to_block?, from_date?, to_date?, order? | Streamed `text/csv` for one address — capped, rate limited separately, and self-describing when a cap bites | no-store |
| GET | /v1/actions/categories | include_signatures? | The category dictionary and the signature table behind it | 未标注 |
| GET | /v1/address/{addr}/facts | addr | Funded By, first and latest transaction | 未标注 |
| GET | /v1/ads/click/{creative_id} | creative_id | First-party redirect for a sponsored link | 未标注 |
| GET | /v1/ads/slots | — | Sponsorship slots and creatives | 未标注 |
| GET | /v1/agents | cursor?, limit?, sort? | ERC-8004 agents on Arc, with their latest score and who reported it | 未标注 |
| GET | /v1/agents/{agent_id} | agent_id | One agent: identity, score per subject, and full feedback history | 未标注 |
| GET | /v1/agents/reporters | cursor?, limit? | Every address that has submitted ERC-8004 feedback, ranked | 未标注 |
| GET | /v1/approvals/{addr} | addr, cursor?, limit?, live? | Outstanding ERC-20/721/1155 approvals granted by an address | 未标注 |
| GET | /v1/blocks/{ref}/actions | ref | What the transactions in this block did | 未标注 |
| GET | /v1/charts | granularity? | Charts index — catalogue and thumbnails | 未标注 |
| GET | /v1/charts/{metric} | metric, granularity?, days?, from?, to?, limit? | One chart series | 未标注 |
| GET | /v1/charts/{metric}/csv | metric, granularity?, days?, from?, to?, limit? | One chart series as CSV | 未标注 |
| GET | /v1/charts/overview | — | Overview stat grid | 未标注 |
| GET | /v1/charts/top | panel?, cursor?, limit? | Top Statistics — ranked panels | 未标注 |
| POST | /v1/contracts/{addr}/encode | addr | Encode a state-changing call to calldata for a wallet to sign | 未标注 |
| POST | /v1/contracts/{addr}/read | addr | Execute one view function through eth_call | 未标注 |
| GET | /v1/contracts/{addr}/source | addr | Verified source, ABI and compiler settings | 未标注 |
| GET | /v1/contracts/verified | limit?, cursor? | Recently verified contracts on this chain | 未标注 |
| GET | /v1/explore/accounts | cursor?, limit? | Top accounts by native USDC balance | 未标注 |
| GET | /v1/explore/contracts | cursor?, limit?, filter? | Deployed contracts, newest first, with verification state | 未标注 |
| GET | /v1/explore/directory | q?, kind?, cursor?, limit? | Directory of named on-chain entities | 未标注 |
| GET | /v1/explore/internal-txs | cursor?, limit?, address?, type?, block? | Contract internal transactions (value-carrying frames) | 未标注 |
| GET | /v1/explore/labels | — | Label cloud | 未标注 |
| GET | /v1/explore/labels/{slug} | slug, cursor?, limit? | Addresses carrying one label | 未标注 |
| GET | /v1/explore/token-transfers | cursor?, limit?, token?, standard?, kind? | Token transfers across the chain, newest first | 未标注 |
| GET | /v1/explore/tokens | cursor?, limit?, standard? | Token tracker — ERC-20 / 721 / 1155 by transfer activity | 未标注 |
| GET | /v1/explore/top-stats | window?, size?, panel?, cursor? | Top Statistics — leaderboards over a chosen block window | 未标注 |
| GET | /v1/export/filter/{dataset}/csv | dataset, address?, role?, counterparty?, token?, method?, min_value_raw?, max_value_raw?, status?, creations_only?, standard?, kind?, from_block?, to_block?, order? | Stream an Advanced Filter result as CSV | 未标注 |
| GET | /v1/filter/limits | — | Advanced Filter bounds | 未标注 |
| GET | /v1/filter/token-transfers | address?, role?, counterparty?, token?, method?, min_value?, max_value?, status?, creations_only?, standard?, kind?, from_block?, to_block?, from_date?, to_date?, cursor?, limit? | Token transfers matching a composed query | 未标注 |
| GET | /v1/filter/transactions | address?, role?, counterparty?, token?, method?, min_value?, max_value?, status?, creations_only?, standard?, kind?, from_block?, to_block?, from_date?, to_date?, cursor?, limit? | Transactions matching a composed query | 未标注 |
| GET | /v1/network/status | — | What Arcscan is currently serving | 未标注 |
| GET | /v1/network/validators | — | The Arc proposer set, with the measured rotation schedule | 未标注 |
| GET | /v1/signatures | keys | Resolve 4-byte selectors and event topic0s | 未标注 |
| GET | /v1/signatures/resolve | keys, address?, registry? | Resolve selectors and topic0s with provenance and collisions | 未标注 |
| GET | /v1/stats/tx-history | days? | Transactions per complete UTC day | 未标注 |
| GET | /v1/tokens/{addr}/concentration | addr | Token Concentration | 未标注 |
| GET | /v1/tokens/{addr}/info | addr | Curated token information | 未标注 |
| POST | /v1/tokens/{addr}/info/submit | addr | Propose token information, behind a verified proof of ownership | 未标注 |
| GET | /v1/tokens/{addr}/logo | addr | The token logo, if one has been published | 未标注 |
| GET | /v1/tokens/{addr}/ownership | addr | Whether ownership of this contract can be proved, and against what | 未标注 |
| POST | /v1/tokens/{addr}/ownership/challenge | addr | Issue a one-time message to sign | 未标注 |
| POST | /v1/tokens/{addr}/ownership/verify | addr | Check a signature against the contract's creator or owner | 未标注 |
| GET | /v1/txs/{tx_hash}/actions | tx_hash | What this transaction did | 未标注 |
| POST | /v1/verify/{addr} | addr | Submit source for verification | 未标注 |
| GET | /v1/verify/compilers | — | Solidity compiler builds, newest first | 未标注 |
| GET | /v1/verify/jobs/{job_id} | job_id | Poll a verification job | 未标注 |
| GET | /v1/verify/options | — | What the verification form needs to render | 未标注 |
“返回”列仅以英文发布。它是 API 自身的契约文本。
| — |
| Etherscan-compatible REST surface — `?module=…&action=…`, see the table below |
| varies |
| POST | /api | — | The same surface, form-encoded, for clients that POST | varies |
| GET | /mcp | — | MCP endpoint discovery | 未标注 |
| POST | /mcp | — | Model Context Protocol endpoint (JSON-RPC 2.0) | 未标注 |
该 schema 只描述了一个路径,因为这一接口是按查询串中的 module 和 action 分发的,而不是按路由。OpenAPI 无法枚举这些取值,因此它们列在下方。
| module | action | 备注 |
|---|---|---|
| account | balance | 原生余额,18 位小数的整数字符串 |
| account | balancemulti | 每次调用最多 20 个地址 |
| account | tokenbalance | 真正的 ERC-20 查询;返回合约自身的小数精度 |
| account | tokentx | 取自已扫描窗口;需要 startblock 与 endblock |
| account | txlist | 某个地址发出或收到的交易,读自索引 |
| account | txlistinternal | 带有价值转移的内部调用帧,可按地址或按交易查询 |
| account | addresstokenbalance | 一个地址持有的全部代币余额 |
| block | getblockreward | blockReward 是交易费之和;没有增发,也没有叔块奖励 |
| block | getblocknobytime | 在高度上做二分查找;不可变,永久缓存 |
| block | getblockcountdown | 使用实测出块时间,而非常量 |
| transaction | getstatus | 执行状态 |
| transaction | gettxreceiptstatus | 收据状态 |
| logs | getLogs | 范围受限;超范围请求会在响应中指明最大跨度 |
| proxy | eth_* passthrough | 区块、交易、call、code、storage、gas 与裸发送方法 |
| contract | getabi | 在 Arcscan 上已验证合约的 ABI |
| contract | getsourcecode | 已验证的源码、编译器设置与 ABI |
| contract | getcontractcreation | 最多 5 个以逗号分隔的地址 |
| token | tokenholderlist | 单个代币的持有人和余额 |
| stats | ethsupply | 原生供应量,18 位小数的整数字符串 |
| stats | ethprice | gas 代币按构造即为美元,因此这里返回 1.00 |
| stats | tokensupply | 总供应量,直接读自合约 |
| stats | dailytxnfee | 每个完整 UTC 日的交易手续费总额 |
| stats | dailynewaddress | 每个完整 UTC 日内首次出现的地址数 |