Отдельного адреса для API пока нет
Эта страница — контракт, а не приглашение. Каждый эндпоинт ниже существует и отвечает. Единственный адрес, который их сегодня обслуживает, — это путь, из которого рендерятся страницы самого этого сайта, и он не является опубликованным адресом API: имя хоста для API не объявлено, и системы ключей не существует.
Он будет открыт как положено. Даты нет, и эта страница её не выдумает: когда отдельное имя хоста для API будет опубликовано, базовый URL появится в этой карточке, а это уведомление исчезнет.
Ничто из того, что вы читаете на Arcscan, от этого не зависит. Страницы мы собираем на своих серверах по тому самому внутреннему адресу, поэтому любая страница работает одинаково — открыт публичный API или нет.
Типизированный API живёт по пути /v1. Именно из него рендерится сам этот сайт, поэтому всё, что вы видите на странице, можно прочитать и как JSON — в том же виде.
Совместимый API живёт по адресу /api?module=…&action=…. Он воспроизводит де-факто стандартный REST-контракт эксплореров, который уже понимают кошельки, индексаторы, скрипты деплоя и боты, так что существующие инструменты переводятся на Arc сменой одного базового URL. Каждое скалярное значение внутри result — строка, ровно как этого требует контракт.
GET /v1/blocks/latest GET /api?module=proxy&action=eth_blockNumber GET /api?module=account&action=balance&address=0x…
Примеры выше — это метод и путь, без хоста перед ними. Опубликованного базового URL для API пока нет — см. уведомление в начале страницы.
{"error":{"code":"NOT_FOUND","message":"…","detail":null}}
Коды: INVALID_INPUT (400), NOT_FOUND (404), RATE_LIMITED (429), CAPABILITY_UNAVAILABLE (501), UPSTREAM_ERROR (502), UPSTREAM_TIMEOUT (504).
| Метод | Путь | Параметры | Возвращает | Кеш |
|---|---|---|---|---|
| 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 | 60s |
| 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.
/v1/stream/head — это поток server-sent events, выдающий по одному событию 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, и POST в форме form-encoded.
| Метод | Путь | Параметры | Возвращает | Кеш |
|---|---|---|---|---|
| GET | /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) | не указано |
Схема описывает один путь, потому что диспетчеризация идёт по 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 | Методы блока, транзакции, вызова, кода, хранилища, газа и сырой отправки |
| contract | getabi | ABI контракта, верифицированного на Arcscan |
| contract | getsourcecode | Верифицированный исходник, настройки компилятора и ABI |
| contract | getcontractcreation | До 5 адресов через запятую |
| token | tokenholderlist | Держатели и балансы по одному токену |
| stats | ethsupply | Нативное предложение, целое строкой с 18 знаками |
| stats | ethprice | Токен газа здесь по построению равен доллару, поэтому возвращается 1.00 |
| stats | tokensupply | Общее предложение, прочитанное у самого контракта |
| stats | dailytxnfee | Суммарные комиссии за каждые полные сутки UTC |
| stats | dailynewaddress | Адреса, впервые увиденные за каждые полные сутки UTC |
Они возвращают стандартную оболочку ошибки с HTTP 200 — никогда 404, чтобы клиентская библиотека не падала. У каждого своя причина, а не одна общая фраза: индекс, который мы не строим; структурное свойство самой сети Arc; либо работающий эндпоинт под другим именем.
Два действия с историей NFT запрашивают чаще всего, и ни на одно из них нельзя ответить по адресу. Форма для ERC-20, account.tokentx, отвечает и требует явно указанных startblock и endblock.