Токены
Arcscan индексирует каждый контракт токена, выпустивший хотя бы один перевод, ранжирует их по активности и строит полный список держателей из балансов, которые сворачивает сам.
Список токенов#
Токены — это весь реестр, по строке на контракт. Он упорядочен по числу переводов за проиндексированную историю — API называет это основание на каждой странице — и не по рыночной капитализации, потому что для этой сети Arcscan никакой рыночной капитализации не публикует. Ранг 1 — это самый оживлённый токен, а не самый крупный.
| Столбец | Что это |
|---|---|
| # | Ранг в текущем порядке. Он меняется по мере накопления переводов. |
| Токен | Название и символ, прочитанные из контракта, и его адрес рядом. |
| Стандарт | ERC-20, ERC-721, ERC-1155 — или без классификации, когда контракт не отвечает ни одному из трёх интерфейсов. |
| Переводы | Логи переводов за проиндексированную историю. Ведут к отфильтрованной ленте. |
| Переводы (24 ч) | То же число за последние сутки, там, где его можно вычислить. |
| Держатели | Различные адреса с ненулевым балансом. См. ниже. |
| Общее предложение | Общее предложение, отмасштабированное по собственным знакам этого контракта. Не обращающееся предложение — такой величины у Arcscan нет, и оценивать её он не будет. |
| Контракт | Адрес контракта, копируется. |
Фильтр по стандарту сужает список до одного из этих четырёх. Основная сеть подавляюще состоит из ERC-20: контракты NFT существуют, но на их фоне это погрешность округления, поэтому отфильтрованный вид ERC-1155 — очень короткая страница, а не пустая.
Страница токена#
/token/<address> — это канонический URL токена, и открывается он на вкладке «Держатели». Четыре вкладки, в таком порядке:
| Вкладка | URL | Что содержит |
|---|---|---|
| Переводы | /token/<address>/transfers | Каждый перевод этого токена, сначала новые. |
| Держатели | /token/<address> | Ранжированный список балансов плюс концентрация. |
| Информация | /token/<address>/info | Ссылки, описание и логотип — только там, где владелец токена их прислал. Прислано пока почти ничего (даже тремя самыми оживлёнными токенами основной сети), и вкладка сообщает, что ничего не присылали, а не показывает пустые поля. |
| Контракт | /address/<address>/contract | Сам контракт, на поверхности адреса. |
Старые ссылки по-прежнему работают
Раньше «Держатели» жили по адресу/token/<address>/holders, а «Переводы» — по /token/<address>. Оба старых пути по-прежнему разрешаются и приводят к тому же содержимому, что и всегда, сохраняя вашу позицию в списке, поэтому закладка или ссылка в форме EIP-3091, написанная до 2026-08-03, не сломана.Держатели#
Список держателей — это агрегация по всей истории: каждый перевод, который токен когда-либо выпустил, свёрнутый в балансы. Arcscan строит её сам, в своём потоке balances, и там, где этот поток покрывает историю, таблица является настоящим ранжированным списком, а не выборкой. В каждой строке — ранг, адрес, баланс в знаках этого токена, доля предложения, которую он составляет, и блок, на котором баланс менялся в последний раз.
Покрытие в двух сетях не одинаково, и оно решает, на какие вопросы вкладка может ответить:
| Сеть | Балансы проиндексированы с | Что это значит для списка держателей |
|---|---|---|
| Основная сеть Arc (5042) | Блок 0, непрерывно до головы цепи | Список — это вся история. Ни один баланс не потерян из-за пропущенного диапазона. |
| Тестовая сеть Arc (5042002) | Блок 53 500 000, непрерывно до головы цепи | Балансы, менявшиеся только в блоках ниже этой границы, в индексе отсутствуют вовсе, поэтому держателя, чья последняя активность ей предшествует, в списке нет. |
Пустая таблица держателей никогда не бывает молчаливой
Оставить таблицу без строк могут три разные вещи, и Arcscan их различает, а не печатает одно предложение на все три: каждый прочитанный им баланс действительно равен нулю; в индексе нет ни одного перевода этого токена; либо Arcscan не смог их перебрать — и тогда страница так и говорит и называет причину, а не отрисовывает пустой список. «Держателей нет» здесь — это измерение, а не значение по умолчанию.Концентрация#
Под списком те же балансы сведены вместе: доля предложения у первых 5, первых 10 и первых 100 адресов, сколько адресов держат больше 1 %, коэффициент Джини по всем перебранным держателям и разбивка предложения по ранговым полосам (1–5, 6–10, 11–25, 26–50, 51–100 и всё за пределами 100). Всё это — доля от общего предложения. У перебора есть верхняя граница, и там, где у токена держателей больше, чем Arcscan просмотрит за один проход, полезная нагрузка сообщает, что была усечена, а не ранжирует тихо какое-то подмножество.
У газового токена нет списка держателей#
Спросите держателей 0x3600…0000 — и API откажет, вот этими словами:
CAPABILITY_UNAVAILABLE
«У нативного газового токена нет отдельного списка держателей: его балансы — это балансы аккаунтов, и их повторная индексация посчитала бы каждый аккаунт дважды.»Это не пробел. Держать USDC в форме ERC-20 и держать нативный баланс Arc — одно и то же (см. ниже), поэтому список «держателей токена» для него был бы вторым экземпляром списка аккаунтов. Для нативного баланса пользуйтесь поверхностью адреса, а для совокупной величины — полем Общее предложение на странице токена.
Переводы#
Строка перевода — это лог Transfer. Из этого следует одно, о чём стоит сказать прямо: строка в ленте переводов доказывает, что её транзакция прошла успешно. EVM выбрасывает логи откатившейся транзакции вместе с её изменениями состояния, поэтому неудавшегося перевода здесь не бывает и столбца статуса, который мог бы его пометить, нет.
Переводы токенов — это общесетевая лента, сначала новые, в порядке логов; вкладка «Переводы» на странице токена — та же лента, суженная до одного контракта. Число переводов в списке токенов — это ссылка: она открывает общесетевую ленту, уже отфильтрованную по этому токену.
Каждое нативное перемещение существует дважды, и лента об этом говорит
Газ в Arc — это USDC, и цепь публикует каждое нативное перемещение дважды: один раз зеркальным эмиттером уровня исполнения с 18 знаками, один раз обликом ERC-20 по адресу0x3600…0000 с 6 знаками. Лента оставляет одну строку из пары, чтобы каждый доллар появился ровно один раз, и помечает оставшуюся — эта пометка и есть то, чем страница сообщает вам о существовании второго лога, а не намекает, что цепь выпустила один. Голый перевод нативной суммы не выпускает лога токена вообще и поэтому в этой ленте отсутствует; ищите его на транзакции.История переводов одного токена листается до жёсткого потолка в 100 000 строк, и ответ сам помечает себя как упёршийся в него. Для USDC этот потолок далеко ниже настоящего числа, поэтому итог на той вкладке — это бюджет постраничного вывода, а не измерение токена. Чтобы уйти дальше назад или нарезать по контрагенту и диапазону блоков, пользуйтесь расширенным фильтром.
Десятичные знаки: два облика USDC#
Это самое лёгкое, в чём можно ошибиться в Arc, и самое дорогое. USDC здесь одновременно газовый токен сети и контракт ERC-20 по адресу 0x3600…0000, и два облика сообщают разное число знаков:
| Облик | Знаков | Где вы с ним встречаетесь |
|---|---|---|
| Нативный баланс | 18 | eth_getBalance, поле value транзакции, стоимость газа, баланс аккаунта на странице адреса. |
ERC-20 по адресу 0x3600…0000 | 6 | balanceOf, логи Transfer, суммы токенов, общее предложение. |
Это не два баланса. Величина с 6 знаками — это проекция величины с 18 знаками, сделанная с потерей: те же деньги, усечённые на двенадцать разрядов:
erc20_balanceOf(a) == eth_getBalance(a) / 10**12 # integer division, truncating # Verified on mainnet, 2026-08-10: # eth_getBalance(0xba75546acd56b3a9142f94f179b03970ee4283fd) = 10670017543856915492 # balanceOf (0xba75546acd56b3a9142f94f179b03970ee4283fd) = 10670017 # 10670017543856915492 // 10**12 = 10670017 # # Read as money: 10.670017543856915492 USDC natively, # 10.670017 USDC through the ERC-20 face.
Добавляя Arc в кошелёк, ставьте 18, а не 6
Кошелёк, настроенный на 6 знаков для нативной валюты, покажет каждый баланс в триллион раз больше — и читатель обвинит кошелёк. Нативная валюта Arc — это USDC с18 знаками; 6 принадлежат только контракту токена. Точные параметры сети — в разделе Публичный RPC.У каждого другого токена свои знаки, прочитанные из его собственного контракта. Arcscan никогда не предполагает 18: токен, у которого вызов decimals() откатывается, приходит вообще без суммы и отрисовывается как недекодируемый, а не числом, полученным угадыванием.
Величины в долларах#
Там, где Arcscan показывает долларовую величину рядом с суммой токена, это вычисленное значение, полученное из ончейн-резервов пулов, и публикуется оно только тогда, когда самый глубокий пул с этим токеном проходит заявленный порог глубины. Оно может устареть, а для подавляющего большинства токенов его нет вовсе — полезная нагрузка не несёт цены и называет причину, которая обычно состоит в том, что ни один пул недостаточно глубок, чтобы по нему котировать.
Никогда не авторитетно и никогда не ноль
Долларовая величина здесь — это арифметика Arcscan над тем, что показывает цепь, а не котировка и не рыночная цена. Позиция без цены не добавляет в подытог ничего — нулём она не считается никогда, — а сам подытог помечен тем, сколько позиций он включить не смог. Ничего по этим числам не рассчитывайте.Чего у Arcscan нет#
Сказано прямо, потому что гадать об отсутствующей функции дороже, чем прочитать о ней:
| Отсутствует | Почему |
|---|---|
| Рейтинг по рыночной капитализации | Для большинства токенов нет цены, из которой его можно было бы вычислить, а величины обращающегося предложения у Arcscan нет. Список вместо этого ранжирован по переводам. |
| Графики цен, котировки или ценовой API | Единственные денежные величины, которые Arcscan вычисляет, — это описанные выше значения, выведенные из пулов. |
| Оценки риска, рейтинги токенов или скоринг держателей | Arcscan публикует измерения, а не суждения. Концентрация — это доля предложения, а не приговор. |
| Верифицированный исходник контракта токена в основной сети | Sourcify не числит сеть 5042, поэтому сегодня ни один контракт в этой сети не может быть верифицирован — ни через Arcscan, ни через любой другой клиент Sourcify. Контракты тестовой сети верифицировать можно, контракты основной — нельзя, и это ждёт добавления сети на стороне Sourcify. |
| Привязка перемещений токенов к внутренним вызовам | Трассировки в основной сети не проиндексированы — ноль блоков, ни одного диапазона. Что именно покрывает каждый поток, см. в разделе Полнота данных. |