Public Agent Card

Stablecoin Scanner

This profile reflects information published by the agent provider.

Card passedA2A respondingUnsigned card

About this agent

Stablecoin Scanner — onchain dollar observability. Web UI for people, agent-ready API (MCP/A2A) for machines. Per-address compliance facts (issuer freeze/seize, OFAC), taint/exposure and unified risk verdicts, open-allowance risk, recent transfers, sanctions coverage, and indexer freshness. Read-only, free, no auth. Deterministic message-only agent: it never creates tasks and does not interpret free text — invoke a skill via a SendMessage data part {"skill": "<id>", "params": {...}} (a text message answers with the machine-readable how-to).

LocalMark's observation

LocalMark first listed this public Agent Card on 28 Oct 2026, 17:00 UTC. Its latest card check succeeded; the card declares 8 skills and a JSONRPC interface. LocalMark has not run a production A2A task. Explicitly opted-in synthetic tests are shown separately.

Read the original Agent Card ↗

What LocalMark checked

  • Published Agent Card

    Inspect the source card ↗. The last successful fetch was 28 Oct 2026, 17:00 UTC.

  • Latest card check: passed

    28 Oct 2026, 17:00 UTC · Agent Card validated

  • Advertised endpoint: TLS connection passed

    28 Oct 2026, 17:00 UTC · Valid TLS connection to advertised endpoint host; no A2A request sent This does not test the A2A protocol or run a task.

  • Read-only protocol probe: A2A task lookup response received

    28 Oct 2026, 17:00 UTC · A2A task-not-found response to a read-only task lookup LocalMark sent no message and did not request task creation.

  • Unsigned card

    This card does not provide a digital signature. Checked 28 Oct 2026, 17:00 UTC.

  • 30-day card check history

    1 of 1 recorded card checks passed in the last 30 days. These are periodic observations, not continuous uptime monitoring.

  • Publisher claim

    No publisher claim has been completed for this listing.

Card availability and a valid signature do not prove provider identity, task performance, or safety. Opt-in synthetic fixture results, if any, are shown separately from these read-only observations.

Advertised connection checks

The selected connection uses an address advertised in the publisher card. Read-only observations do not establish task quality or safety.

  • JSONRPC · 1.0 · Selected connection

    https://stablescan.achivx.com/a2a

    A2A response confirmed · 28 Oct 2026, 17:00 UTC

    A2A task-not-found response to a read-only task lookup

  • JSONRPC · 1.0.0

    https://stablescan.achivx.com

    A2A response not confirmed · 28 Oct 2026, 17:00 UTC

    Protocol response exceeded 16 KiB limit

Up to three supported interfaces are checked per cycle. Authentication requirements, unsupported transports and generic HTTP errors are not protocol confirmation.

Repair connection or request a recheck →

Publisher-authorized synthetic tests

Publisher: set up test evidence →

No current fixture result · Not yet checked

A publisher-authorized synthetic test of a dedicated free test endpoint. It does not establish general capability, production task success, safety, ownership, identity, or the behaviour of the advertised A2A endpoint.

Consent: not confirmed.

Recent fixture observations
  • No fixture tests recorded.

Results, consent dates and hashes as JSON · Method, fixtures and publisher opt-in →

Recent card checks

Periodic observations over the last 30 days; they are not continuous uptime monitoring.

Show 1 recent check
  • Passed · 28 Oct 2026, 17:00 UTC

    Agent Card validated

View the 30-day check log as JSON →

Card and signature changes

  • No changes recorded since change tracking began.

View detailed card versions → · Subscribe to card changes

Share this listing

Link to this profile with a status badge that updates from LocalMark checks.

LocalMark status badge

README Markdown:

[![LocalMark status](https://localmark.ai/badge/499210.svg)](https://localmark.ai/agents/499210)

Card-declared connections

These links come from statements in public Agent Cards. They do not verify common ownership or cooperation.

  • No card-declared connections recorded yet.

View all connections as JSON →

Declared skills 8

  • Address compliance facts

    Compliance facts for one address on one chain + the OFAC SDN flag. freeze[]: issuer freeze/seize status per enabled freeze-capable stablecoin (frozen|seized|clear|unknown - unknown = no act found and the pair's freeze history is not fully swept, never 'not frozen'). not_freezable[]: enabled stablecoins the issuer cannot freeze on this chain - token = symbol and token_address = contract, as in freeze[]; reason no_freeze_function (the contract has no freeze function) or no_freeze_authority (a Solana mint without a freeze authority) - e.g. the Binance-Peg USDT/USDC on BNB Chain, where enforcement is off-chain. frozen_elsewhere[]: the same address under a standing act on another indexed chain - the cross-chain signal, not scored by get-address-risk. freeze_proposals[]: executed issuer multisig proposals naming the address (pending ones only where the operator publishes them in full; elsewhere a pending proposal's address is shown once it executes). Class-F decoded facts, no heuristics.

    compliancefreezeseizeofacsanctions
  • Data freshness

    Indexer head/safe/finalized block, lag_blocks (head_block - last_indexed_block) and freshness_seconds (the age of the newest indexed transfer, the freshness measure on every chain) so the agent knows data recency. On Solana (chain -1) safe_block is the finalized slot, and lag_blocks is near 0 by construction and never negative, so it is not a freshness signal there: read freshness_seconds. On the EVM chains and Tron a negative lag_blocks means the node's head went back.

    freshnesssyncstatus
  • OFAC sanctions coverage

    OFAC SDN sanction-list coverage: how many EVM + Solana + Tron addresses are ingested (free public 0xB10C list, US-Gov public-domain data) and when it was last refreshed. Heuristic exposure signal — not legal advice; verify against the official SDN list. No params.

    sanctionsofacdatasetcoverage
  • Open allowances + approval-risk

    Open ERC-20/Permit2 allowances (Class-F) with a shadow approval-risk band: unlimited to a flagged/unknown spender is the #1 drain vector; a DEX router is normal; expired Permit2 is 'expired'.

    allowancesapprovalserc20permit2risk
  • Recent transactions

    Newest stablecoin transfers on ONE chain, filterable by recipient/payer, cursor-paginated (next_cursor). Answer: items[], each row tx_hash, log_index, block_number, block_time (RFC 3339), payer, recipient, amount {amount (minor units, string), decimals, token (symbol)}, token (the contract address), finality, and usd_amount where priced. The chain is the one asked for — rows do not repeat it. Generic on-chain Transfer facts.

    transferstransactionsfeedstablecoin
  • Taint/exposure verdict

    §8 bounded backward BFS to the nearest OFAC/hack/drainer/mixer root: class + nearest-hop + a value-proportional haircut. 'unknown' never a false 'none'; incomplete_reasons names why: OFAC list unloaded, walk cut (time_budget, frontier_cap), Solana coverage pending or partial, short history, or no hack/drainer/mixer label loaded for this chain.

    taintexposuresanctionsamlrisk
  • Unified risk verdict

    One tier (unknown|none|low|medium|high|severe) for one chain, aggregating facts (OFAC, this chain's issuer freeze/seize status, exposure) + attributed labels (capped at medium, ≥2 sources for a tier). 'unknown' = could not assess, not 'clean'; it names its cause in evidence and incomplete_reasons (e.g. time_budget: the exposure walk was cut). An 'unknown' freeze status or a pair whose freeze history is not backfilled turns a would-be 'none' into 'unknown', so a Solana tier is never 'none'. Not scored: frozen_elsewhere, issuer freeze proposals, frozen balances and the issuer's act on its own token contract - read get-address-compliance.

    riskverdictscreeningcompliance
  • Wallet graph walk

    Bounded walk over the indexed stablecoin settlement flow graph from a wallet: payer<->recipient hops, value-weighted score, entity-aware keys, attributed-node stop option, and sanctioned-node markers. Explainability primitive only — NOT a detector verdict, identity/control assertion, AML decision, or legal advice. window_from present means the answer was built from that date, the edge-grain horizon, not from the start of the requested window; the default window all, 90d and 1y included (/v1/methodology edge_grain_horizon). When window_from is present, read the graph as covering that span only — do not treat the absence of a counterparty, a path or a sanctioned node as evidence about anything before that date. volume on nodes is the token's raw minor units (divide by 10^decimals); volume_usd6 is the same amount in USD with 6 decimals at peg 1. On Solana (chain -1) the answer carries coverage_status for the subject address only, never for its counterparties: pending — its history is still being filled, so an empty or small answer is not final; partial — filled to a documented bound. The walk shows a finished fill after the next Solana rollup pass (about 10 minutes), and never shows history older than window_from. This read never starts a fill, so pending can also mean none was asked for yet: one compliance read of the address asks for it. A Solana answer without coverage_status could not read it in time — treat it as pending. On Solana (chain -1) the edge grain of 2026-07-20..2026-09-14 is incomplete: those days hold part of their transfers or none, because their raw rows were offloaded before a fix reached production on 2026-09-17; they are not restored, and answers do not mark them (decision of 2026-09-17). Solana's grain is never trimmed, so there the horizon that window_from reports is not where retained data ends: once window_from is later than 2026-09-14 the answer holds none of those days. An answer that reaches them — window_from on or before 2026-09-14, or no

    graphflowwalktracingexplainability