{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/ru/guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["quickfacts","fact","flow","step"]},"type":"markdown"},"seo":{"title":"Токены и балансы - проверенные и доверенные","projectTitle":"Vilna Docs","description":"Какие токены получают балансы и уведомления в Vilna, зачем токену метка verified или trusted, как читать каталог и добавить любой контракт.","siteUrl":"https://docs.vilna.io","lang":"en-US","image":"https://cdn.vilna.io/docs/og/26103121/ru/guides-tokens.png","meta":[{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Vilna Documentation"},{"name":"og:image:width","content":"1200"},{"name":"og:image:height","content":"630"},{"name":"twitter:card","content":"summary_large_image"},{"name":"robots","content":"max-image-preview:large"}],"llmstxt":{"title":"Vilna API Documentation","description":"Vilna Platform API monitors public blockchain activity, balances and invoices and delivers signed webhooks. It does not sign or broadcast transactions. VKS separately coordinates account setup, signer approvals and signing, retains signed results and can submit a complete transaction to a node. Node acceptance is not blockchain confirmation. Each API uses its own scoped credential in X-Api-Key. Workspace setup and VKS-key issuance start in the Dashboard.\n","details":{"content":"**Platform monitoring.** Platform observes merchant-controlled addresses,\nsupplied directly or derived from the merchant's extended public key (xPub).\nInvoices report incoming on-chain activity; they do not initiate transfers.\n\n**APIs and their credentials.**\n\n- Platform API (api.vilna.io) - monitor addresses and extended public keys, read\n  balances and transactions, reconcile incoming payments, create invoices, and\n  receive events.\n- Blockchain RPC (rpc.vilna.io) - JSON-RPC and gRPC node access across every\n  supported network behind one key.\n- Management API (mgmt.vilna.io) - published workspace, project, member and key\n  operations, with Dashboard bootstrap and credential grant limits.\n- VKS API (vks.vilna.io) - workspace signers, vaults, accounts, signing requests,\n  signed results and optional asynchronous send. Uses a Dashboard-issued VKS key\n  with vks:access; the public Management API has no VKS-key issuance route.\n\n**Pages with no markdown source**, so they cannot be linked below:\n\n- Product overview: https://docs.vilna.io/\n- All guides: https://docs.vilna.io/guides\n"},"excludeFiles":["legal/terms.md","legal/privacy.md","legal/cookies.md","@l10n/ru/legal/terms.md","@l10n/ru/legal/privacy.md","@l10n/ru/legal/cookies.md"],"sections":[{"title":"Getting Started","description":"What the platform is, how to make a first call, and answers to common questions","includeFiles":["get-started/quickstart.md","get-started/dashboard.md","get-started/core-concepts.md","get-started/members.md","get-started/faq.md"]},{"title":"API Reference","description":"Authentication, permissions, idempotency, errors, standards, and per-service endpoint documentation","includeFiles":["apis/authentication.md","apis/permissions.md","apis/idempotency.md","apis/errors.md","apis/standards.md","apis/networks.md","apis/platform/@v2/index.md","apis/platform/@v2/webhooks.md","apis/platform/@v2/api.yaml","apis/mgmt/index.md","apis/mgmt/api.yaml","apis/vks/index.md","apis/vks/api.yaml","apis/rpc/index.md","apis/rpc/json-rpc.md","apis/rpc/grpc.md"]},{"title":"Developer Guides","description":"Integration patterns, events, notifications, and tooling","includeFiles":["guides/events.md","guides/channels.md","guides/tokens.md","guides/integration-patterns.md","guides/mcp.md","guides/simulation.md","guides/invoices.md","guides/vks.md"]},{"title":"Trust and custody","description":"The non-custodial model in plain terms","includeFiles":["legal/non-custodial.md"]},{"title":"Optional","description":"Background reading and release history","includeFiles":["get-started/blockchain-basics.md","changelog.md"]}]},"priority":0.5,"jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная","item":"https://docs.vilna.io/ru/"},{"@type":"ListItem","position":2,"name":"Руководства","item":"https://docs.vilna.io/ru/guides"},{"@type":"ListItem","position":3,"name":"Токены"}]},{"@type":"TechArticle","headline":"Токены и балансы - проверенные и доверенные","description":"Какие токены получают балансы и уведомления в Vilna, зачем токену метка verified или trusted, как читать каталог и добавить любой контракт.","url":"https://docs.vilna.io/ru/guides/tokens","datePublished":"2026-09-25","dateModified":"2026-10-31","proficiencyLevel":"Beginner","dependencies":"API-ключ Vilna","image":"https://cdn.vilna.io/docs/og/26103121/ru/guides-tokens.png","author":{"@id":"https://vilna.io/#organization"},"publisher":{"@id":"https://vilna.io/#organization"}}]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"токены-и-балансы","__idx":0},"children":["Токены и балансы"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Контракт токена может развернуть кто угодно, и любой контракт может что-то отправить на ваш адрес. Vilna ведёт балансы токенов по общему проверенному списку и доверенному набору проекта. Фильтр уведомлений по умолчанию тоже использует эти метки наряду с действиями самого выбранного адреса. На этой странице - что это за две метки, что они включают, как читать каталог и как добавить свой контракт."]},{"$$mdtype":"Tag","name":"QuickFacts","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Fact","attributes":{"icon":"shield"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_verified"]}," - общий список"]}," ",{"$$mdtype":"Tag","name":"Fact","attributes":{"icon":"check-circle"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_trusted"]}," - выбор проекта"]}," ",{"$$mdtype":"Tag","name":"Fact","attributes":{"icon":"database"},"children":["Балансы следуют за метками"]}," ",{"$$mdtype":"Tag","name":"Fact","attributes":{"icon":"bell"},"children":["Метки участвуют в фильтре шума"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"why","level":2,"__idx":1},"children":["Зачем токену метка "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Запись каталога со ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status: supported"]}," значит, что Vilna получила из сети имя, символ и число десятичных знаков токена и может следить за его переводами. О том, настоящий ли это токен, статус не говорит ничего. Для токенов со знакомым именем, контрактов-двойников и спама метаданные можно получить тем же способом. Если бы каждый распознанный токен давал балансы и оповещения, любой посторонний мог бы заставить вашу интеграцию реагировать, просто отправив вам что угодно."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Поэтому у токена две независимые метки:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_verified"]}," - общий список Vilna, одинаковый для всех проектов. Он ведётся вручную для одного конкретного контракта в одной конкретной сети. Имя, символ или большой объём переводов его не дают."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_trusted"]}," - выбор вашего проекта: одним вызовом ставится, другим снимается."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Достаточно любой из них. Нативная монета каждой сети (ETH, BNB, BTC, TRX) всегда в области проекта без метки."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"what-counts","level":2,"__idx":2},"children":["Что включают метки "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Балансы."]}," Vilna ведёт балансы нативных монет и всех токенов в области проекта: проверенных и тех, которым вы доверились. Чтение баланса или движение токена через ваш адрес область не расширяет. У токена вне области строк баланса нет вовсе."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Уведомления."]}," У каждой подписки есть ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_noise_filtered"]},", по умолчанию включённый. С ним уведомление приходит, только если один из выбранных адресов сам даёт основание: он действовал сам (отправитель, вызывающий, создатель или владелец), и тогда токены в транзакции не важны, а незнакомые просто остаются в теле уведомления; либо на этом адресе двинулась нативная монета, проверенный или доверенный токен. Действие, доверенный токен или комиссия другого адреса сами по себе не делают выбранный адрес подходящим под этот фильтр. С выключенным фильтром уведомляет любая активность, задевшая выбранный адрес, включая незнакомые токены; доверия это не даёт и балансов не включает. Подробно фильтр разобран в ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/guides/events#noise"},"children":["руководстве о событиях"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Сети Solana распознают токены для каталога, и на этом всё: ни балансов, ни уведомлений, какие бы метки ни стояли."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"catalog","level":2,"__idx":3},"children":["Как читать каталог "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/platform/api/token/list-tokens"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /tokens"]}]}," возвращает каталог. Параметр ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope"]}," определяет, какую его часть вы видите:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Используйте ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope=project"]}," для нативных, проверенных и доверенных токенов проекта, а ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope=all"]}," (по умолчанию) - для полного каталога. Уточняйте выбор сетью ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chain_gid"]},", поиском ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["search"]}," или ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#tags"},"children":["тегом"]}," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tag_id"]},". Совпадение в поиске не даёт доверия. Схема ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CatalogAsset"]},", все фильтры, ограничения и примеры запросов доступны на странице операции выше."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Статус ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supported"]}," означает полученные метаданные, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}," - известный идентификатор токена без полного набора метаданных, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unsupported"]}," - отсутствие поддержки. Имя, символ и ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["decimals"]}," гарантированы при ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supported"]},"; до этого они могут быть известны частично."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Серверного фильтра «только проверенные» нет. Чтобы получить их список, запросите ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope=project"]}," и оставьте записи с ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_verified: true"]},", либо отфильтруйте по этому полю весь каталог."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Используйте ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["decimals"]}," точного ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["gid"]},", а не символ, общий для разных контрактов и сетей. Сохраняйте точность строк базовых единиц через ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BigInt"]}," или библиотеку точной десятичной арифметики; преобразование в ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Number"]}," может потерять единицы. Суммы аутентифицированного счёта - строки, в отличие от структурированных сумм транзакций. Правила представления сумм описаны в ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/guides/invoices#%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C-%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81-%D1%81%D1%87%D1%91%D1%82%D0%B0"},"children":["руководстве по счетам"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Например, одна единица токена с ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["decimals: 6"]}," представляется так:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{ \"base\": \"1000000\", \"formatted\": \"1.0\" }\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"add","level":2,"__idx":4},"children":["Как добавить токен "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Два вызова. Первый помещает контракт в каталог и получает его метаданные из сети, второй отмечает его доверенным для вашего проекта."]},{"$$mdtype":"Tag","name":"Flow","attributes":{},"children":[{"$$mdtype":"Tag","name":"Step","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/platform/api/token/create-token"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /tokens/{chain_gid}/{asset_path}"]}]}," без тела. В ответе запись со ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status: supported"]},"; контракт, получивший статус ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}," или ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["unsupported"]},", получает ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]},". Токен, уже известный каталогу, возвращается с ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]},"."]}]},{"$$mdtype":"Tag","name":"Step","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/platform/api/token/trust-token"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /tokens/{chain_gid}/{asset_path}/actions/trust"]}]}," добавляет его в выбор проекта. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}," - токена ещё нет в каталоге; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["422"]}," - он есть, но не ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["supported"]},"."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Для изменений нужен ключ проекта с ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["api:asset:write"]},", для чтения каталога - ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["api:asset:read"]},". Регистрация токена и добавление в доверенные - отдельные действия с отдельными ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Idempotency-Key"]},"; сохраните каждый ключ и исходные параметры до отправки. Схемы и примеры запросов доступны на страницах операций выше."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["При потере ответа повторяйте с тем же ключом и исходными параметрами. Отзыв доверия (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["untrust"]},") - отдельное действие со своим ключом. При недоступном повторе сверяйте состояние каталога и доверия, не заменяя ключ автоматически. См. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/idempotency#recovery"},"children":["Идемпотентность"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["С этого момента токен учитывается в ваших подписках, а балансы для всех адресов проекта, текущих и будущих, инициализируются в фоне. За прошлые транзакции ничего не приходит: доверие к токену не создаёт очереди уведомлений задним числом."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/platform/api/token/untrust-token"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /tokens/{chain_gid}/{asset_path}/actions/untrust"]}]}," снимает выбор и отвечает ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["204"]},". Если других меток, удерживающих токен в области, нет, его балансы останавливаются, и он уходит из выдач с ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope=project"]},"; в полном каталоге (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope=all"]},") он остаётся. Повторное доверие начинает балансы заново, а не продолжает старые."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asset_path"]}," - это часть идентификатора CAIP-19 после сети:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Актив"},"children":["Актив"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"chain_gid"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["chain_gid"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"asset_path"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asset_path"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ETH"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eip155:1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["slip44:60"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["USDT в Ethereum"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["eip155:1"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["USDT в Tron"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tron:728126428"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["trc20:TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"id":"tags","level":2,"__idx":5},"children":["Теги токенов "]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Тег токенов - именованная группа токенов внутри проекта, которой управляют через ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/ru/apis/platform/api/token_tag/list-token-tags"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /token-tags"]}]},". Теги не меняют доверия; они нужны, чтобы ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /tokens?tag_id=…"]}," возвращал одну группу за раз, например принимаемые вами стейблкоины."]}]},"headings":[{"value":"Токены и балансы","id":"токены-и-балансы","depth":1},{"value":"Зачем токену метка","id":"why","depth":2},{"value":"Что включают метки","id":"what-counts","depth":2},{"value":"Как читать каталог","id":"catalog","depth":2},{"value":"Как добавить токен","id":"add","depth":2},{"value":"Теги токенов","id":"tags","depth":2}],"frontmatter":{"seo":{"title":"Токены и балансы - проверенные и доверенные","description":"Какие токены получают балансы и уведомления в Vilna, зачем токену метка verified или trusted, как читать каталог и добавить любой контракт.","priority":0.5,"image":"https://cdn.vilna.io/docs/og/26103121/ru/guides-tokens.png","jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Главная","item":"https://docs.vilna.io/ru/"},{"@type":"ListItem","position":2,"name":"Руководства","item":"https://docs.vilna.io/ru/guides"},{"@type":"ListItem","position":3,"name":"Токены"}]},{"@type":"TechArticle","headline":"Токены и балансы - проверенные и доверенные","description":"Какие токены получают балансы и уведомления в Vilna, зачем токену метка verified или trusted, как читать каталог и добавить любой контракт.","url":"https://docs.vilna.io/ru/guides/tokens","datePublished":"2026-09-25","dateModified":"2026-10-31","proficiencyLevel":"Beginner","dependencies":"API-ключ Vilna","image":"https://cdn.vilna.io/docs/og/26103121/ru/guides-tokens.png","author":{"@id":"https://vilna.io/#organization"},"publisher":{"@id":"https://vilna.io/#organization"}}]}}},"lastModified":"2026-10-31T22:07:16.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/ru/guides/tokens","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}