Product proof · Monad testnet · chain 10143 · snapshot 2026-08-06

Proof of what was refused.

Every claim on this page is a live contract call, a transaction hash or a screenshot of the running product. Nothing is asserted that cannot be re-run in 30 seconds.

● deployed on Monad 637 check executions, 0 failing 317 tokens measured 12.36M blocks scanned reads live Cleanverse CVI
01 / Problem and boundary

Every gate can prove what it let through. None can prove what it stopped.

Chainlink's ACE documentation states it indexes "only successful transactions, since the PolicyRunComplete event is only persisted on-chain when the transaction succeeds." A reverted transfer leaves no record anywhere.

So the first question a supervisor asks — show me what you blocked, and why — has no answer from any system in this category. Plumb answers it, and the answer is on Monad right now.

Proven

A refusal that survives its own transaction, with the rule that caused it, queryable on-chain.

Measured

317 tokens against the ERC-3643 standard. 12.36M blocks of refusal history. Every figure re-derivable.

Not claimed

Not an audit, not a rating, not investment advice. It measures the code layer only — an off-chain control is invisible here and is reported not observable, never absent.

02 / Live deployment

Three contracts, live, confirmed by reading code on chain.

Confirmed by cast code against chain 10143 — not from a broadcast receipt. A local-fork receipt looks identical, so the receipt alone is never trusted.

ContractAddressOn-chain size
RefusalLedger0x85D4fb97f61756c1934Ce7C0d2A26B51fA7813A23,781 bytes
TransferDesk0x57fcf5CCFbE85846D74dDdD7B4d84A07a2F359A72,566 bytes
CompliantAsset0x88Cc48FD13cDd707CBed8c5d77C4ee2ea61340E57,982 bytes

Reads the live Cleanverse A-Pass registry at 0xbA82D189540CaC9DC6FF46B6837CaC1BFdEC58B9 — the real CVI layer, not a mock.

== live contract state ==
ledger total     : 4
tally a/r/m/n    : 1 3 0 0 
insolvency       : "You are a general unsecured creditor. You rank behind secured creditors and may recover little or nothing."
price basis      : "Last executed on-chain trade of this token. Not a valuation, and not the underlying's price."
redemption       : "No redemption is offered. Your only exit is selling to another eligible holder, if one exists."
totalSupply      : 1000000 [1e6]
03 / Signature journey

The refusal that did not revert.

This is the whole thesis in one transaction. A wallet with no A-Pass calls TransferDesk.send(). The transfer is refused. The transaction succeeds. The refusal is saved forever.

01
A wallet with no credential attempts a send

0xa79E4D3B…CfA6 holds no A-Pass.

02
The transaction succeeds — status 0x1

0x146ac298f3358ba2…a16c96 · block 51,339,383. It did not revert. Every other system in this category reverts here, and the evidence dies with the revert.

03
Nothing moved

No tokens transferred. The refusal held.

04
The refusal is on-chain, naming its rule

Ledger record 3, selector 0x52464e01 = no A-Pass credential at all. Still readable by anyone, forever.

Records 0–2 were written with attest(), which evaluates and records without moving tokens. The credentialed holders' private keys are not ours, so we cannot originate a transfer as them — that limit is stated rather than papered over.

04 / The finding

Cleanverse's own gate approves a credential with nothing behind it.

Same address. Same chain. Same block. Two different answers.

Cleanverse Policy
canTransfer → true

0x36489bE45fa84f70a0c2BDB11D824Be608CB12Dd

Plumb
refused

"credential has no KYC behind it"

A-Pass record as read on 2026-08-06Value
address0x888895E314BF33CEeBCF5320279061aed3a5E2bd
status1 — active
tier5
expirationTime0 — never set
currentKycHash0x0 — nothing behind it
code0xef0100… — EIP-7702 delegated smart account
holds15.1 of 152.14 aUSDC = 9.93% of supply

A credential can exist with nothing behind it, and existence is all the deployed gate checks. Just under a tenth of that token's float sat behind one.

Correction — 2026-08-08

This page said the claim would come down if Cleanverse ever backfilled that KYC hash, and pinned it with a fork test. The hash was backfilled and the test failed. The record above is kept as read on 2026-08-06; here is the same address today.

Read 2026-08-08ThenNow
currentKycHash0x0 0x0100…0000 — 0x01 and 31 zero bytes, not a digest
tier55 — unchanged
expirationTime00 — still never set
share of supply9.93% 4.84% — it holds the same 15.1, and supply grew to 312

An A-Pass carries no version and we found no event announcing the edit, so an issuer who read this credential, recorded "no KYC behind it" and acted on it had no way to learn otherwise. That is this project's own thesis, arriving uninvited.

The finding itself survives, on a credential we did not choose in advance: 0x7f7098632b0258Af07e527015D65e6bc743f4CF5 is active, tier 5, no expiry, currentKycHash 0x0. The fork tests now discover such an address rather than naming one, so the claim no longer depends on a single record holding still — and if none remains, they fail loudly rather than passing with nothing to test.

05 / The CVA finding, and the retraction

We said CVA was closed to third parties. We were wrong, and the mistake was ours.

Retracted — 2026-08-08

This section used to read "Cleanverse's asset path is closed to third parties. We proved it three ways", and concluded we scored zero on CVA because no entrant outside Cleanverse can reach it. That was false.

21 cooperate endpoints do not accept plain JSON. They require the request body to be AES-encrypted — AES/CBC/PKCS5Padding, key = the Base64-decoded api-key, fixed 16-zero-byte IV — and sent as {"data":"<base64>"}. Every A-Token write is on that list. We were posting plain JSON, so the 403s and 500s we collected were evidence about our request shape and nothing else.

With the documented envelope, GET /atoken/list_my_atokens returns HTTP 200 and 251 A-Token applications — 178 ISSUED, 60 ISSUE_FAILED, 9 FROZEN, 4 PENDING across Monad (127), Base (116), Ethereum (7) and Arbitrum (1). Other teams launched minutes before we read it, and are still launching now. The write surface was open the whole time.

We published these counts wrong first: "241 applications, 247 ISSUED", which contradicts itself. page and page_size are query-string parameters on the GET and we sent pageSize in the encrypted body, so paging was ignored and one page of 20 was counted repeatedly. Third malformed request of ours to become a published number.

A second trap sat behind it: a request with no User-Agent is rejected by the gateway with HTTP 403 and a bare error code: 1010 — indistinguishable from a permission failure until you send one.

This is the second time a malformed request of ours became a confident claim about someone else's system, the first being a wrong base path. The blockers below are left exactly as measured, because each is still a true on-chain fact; what was wrong was the conclusion drawn from them.

The on-chain measurements below stand and re-run. What does not stand is the inference that they made CVA unreachable — the API route was there, and we had not knocked correctly.

01
Our token cannot be registered

Policy.canTransfer(ourAsset, …) reverts TokenNotRegistered() (0x259ba1ad) — and returns the identical answer for a fully eligible pair and a fully ineligible one. That equality is what proves it is about the token, not the parties. All 8 candidate registration selectors revert with empty returndata: the function does not exist on the Policy contract.

02
We cannot wrap a registered A-Token either

A wrapper contract cannot receive one — NoAPass(address) (0xa6725971). Our own deployed contracts hold no A-Pass: ownerOf returns ERC721NonexistentToken.

03
And we cannot obtain an A-Pass for a contract

Ten mint / issue / claim candidates against the registry. Every one reverts bare — no open path exists.

04
So we built the integration that IS available

PolicyGate consults Cleanverse's own engine and keeps NotRegistered as a first-class outcome, separate from Refused — collapsing them would report an unregistered token as non-compliant when the engine merely declined to look. CvaDesk then gives Cleanverse's own registered A-Tokens the durable refusal their stack cannot produce, recording their verdict with their selector, verbatim, adding no opinion of ours.

This forced a real change elsewhere: registration is now a third kind in the refusal lexicon, alongside compliance and mechanical. The prober's own test only allowed two and failed — correctly. An unregistered token must never be counted as a gate firing.

The captured output below ends with the line "CVA is closed to third parties on this chain. Not skipped - unreachable." It is kept verbatim, and it is the claim retracted above. Evidence is not edited here; it is dated and corrected beside.

== CVA: is the asset path open to a third party? ==
   measured on Monad testnet 10143, 2026-08-06

-- 1. registration status
   isTokenRegistered(cleanverse aUSDC) : true
   isTokenRegistered(our asset)        : false

-- 2. the engine rules on theirs
   canTransfer(aUSDC, credentialed -> credentialed) : true

-- 3. and refuses to rule on ours - SAME answer for opposite pairs
   canTransfer(ours, eligible   -> eligible)   : 0x259ba1ad
   canTransfer(ours, NO-PASS    -> tier5)      : 0x259ba1ad
   0x259ba1ad = TokenNotRegistered()   [4byte registry + cast sig, both agree]
   -> identical for an eligible and an ineligible pair, so it is about the TOKEN

-- 4. no registration function exists on Policy (bare revert = absent)
   registerToken(address)     0x09824a80   0x = absent
   addToken(address)          0xd48bfca7   0x = absent
   register(address)          0x4420e486   0x = absent
   setRule(address,bytes)     0x1961f874   0x = absent

-- 5. nor can a wrapper hold a registered A-Token
   canTransfer(aUSDC, credentialed -> OUR CONTRACT) : 0xa6725971
   0xa6725971 = NoAPass(address)  - a plain contract holds no A-Pass
   ownerOf(passId(our contract))                    : 0x7e273289
   0x7e273289 = ERC721NonexistentToken(uint256)

-- 6. and no mint path exists on the A-Pass registry (all absent)
   mint(address) issue(address) safeMint(address) selfIssue() requestPass()
   claim() mint(address,uint256) issueAPass(address) createAPass(address)
   register(address)  -> 10 candidates, every one reverts bare

CONCLUSION: CVA is closed to third parties on this chain. Not skipped - unreachable.
06 / Product surface

Nine tools. Each answers one question nobody else answers.

ToolQuestionResult, this snapshot
probeDoes the gate actually fire, or is it decorative?31 Monad A-Tokens: 12 ENFORCING · 13 NO_SUPPLY · 6 GATE_NOT_OBSERVABLE · 0 decorative
conformanceDoes this token implement ERC-3643?0 of 283 permissioned tokens conform. 283/283 miss identityRegistry() and compliance().
exitWho may this holder legally sell to?3 of 3 enumerable counterparties reachable. Bid depth NOT_MEASURED — reach is not liquidity.
sentinelAt what position size does each right switch on?transfer/approve: no ceiling to 10¹². redeem and burn: FUNCTION_ABSENT.
leakageIs there a route around the gate?36 candidates, 3 holders, no structural route. Found the 7702 account holding 9.93%.
circularityIs the backstop denominated in what it backstops?992/992 pairs readable, 0 holding edges, no cycle in a complete graph.
heartbeatWhat has gone quiet?32 assets observed. All NO_BASELINE — refuses to alarm on one observation.
archaeologyHas a compliance control ever been used? 0 times across 12,356,415 blocks of complete history. 43,088 such events found on 4,961 other contracts — the built-in positive control.
depthHow many parties stand between you and the asset? [1, 2] — an interval, not a number. 5 edges undecidable.
archiveWhat did the issuer claim, and when? 28 blobs, 0 missing, 0 hash mismatches — archive intact.
07 / Interface

The ledger, read by anyone, no wallet.

Live Monad data in a browser. No wallet connection, no signing, no backend. Each refusal translated from a hex selector into plain English by the canonical lexicon.

Plumb ledger showing four live decisions read from Monad testnet
Live: 4 decisions · 1 allowed · 3 refused. Each refusal names its rule. Click to open full size.
Refusal lexicon table listing 14 selectors with plain-English meanings
14 selectors, loaded from the canonical probe/lexicon.json — one decoder shared by the prober, the contracts and this page.
The same live ledger rendered in light theme
Light theme, same live data.
08 / Evidence appendix

Verbatim tool output. Nothing retyped.

Every block below is the actual stdout of the tool, captured on 2026-08-06 and embedded at build time. The deck is generated from these files, so a claim on this page cannot drift from the run it came from.

probe — Does the gate actually fire, or is it decorative?
scanning 31 A-Tokens on monad via http://127.0.0.1:8546

  VERDICT                COUNT
  NO_SUPPLY              13
  ENFORCING              12
  GATE_NOT_OBSERVABLE    6

  unknown selectors needing lexicon entries:
    0x9742a8f1  x4
    0x51d86cca  x1

  wrote C:\Users\prate\cleanverse\probe\results\scan-monad.json
conformance — Does this token implement ERC-3643?
  ERC-3643 CONFORMANCE — suite 1.0.0
  --------------------------------------------------------------------
  token              0xaC0893567D43C3E7e6e35a72803df05416C1f20D
  identity registry  NOT EXPOSED
  compliance         NOT EXPOSED
  paused             None
  holder             0x03681955065AF6EA51660dd63e7634fd0dE4d0a8  (balance 8919998)

  INTERFACE
    [PASS]  IFACE-ERC20-NAME             exposes ERC-20 name()
    [PASS]  IFACE-ERC20-SYMBOL           exposes ERC-20 symbol()
    [PASS]  IFACE-ERC20-DECIMALS         exposes ERC-20 decimals()
    [PASS]  IFACE-ERC20-TOTALSUPPLY      exposes ERC-20 totalSupply()
    [FAIL]  IFACE-IDENTITY-REGISTRY      exposes identityRegistry()
              the call reverted: reverted without returndata
              spec: MUST be used in combination with an onchain Identity
              system; IERC3643.identityRegistry()
    [FAIL]  IFACE-COMPLIANCE             exposes compliance()
              the call reverted: reverted without returndata
              spec: IERC3643.compliance()
    [FAIL]  IFACE-PAUSED                 exposes paused()
              the call reverted: reverted without returndata
              spec: MUST have the possibility to pause the token;
              IERC3643.paused()
    [FAIL]  IFACE-IS-FROZEN              exposes isFrozen(address)
              the call reverted: reverted without returndata
              spec: MUST be able to freeze tokens on the wallet of
              investors, partially or totally; IERC3643.isFrozen()
    [FAIL]  IFACE-FROZEN-TOKENS          exposes getFrozenTokens(address)
              the call reverted: reverted without returndata
              spec: IERC3643.getFrozenTokens() - partial freezing
    [FAIL]  IFACE-ONCHAINID              exposes onchainID()
              the call reverted: reverted without returndata
              spec: IERC3643.onchainID()
    [FAIL]  IFACE-VERSION                exposes version()
              the call reverted: reverted without returndata
              spec: IERC3643.version()
    [FAIL]  IFACE-OWNER                  exposes ERC-173 owner()
              the call reverted: reverted without returndata
              spec: MUST define an Agent role and an Owner (token
              issuer) role; relies on ERC-173
    [FAIL]  IFACE-IS-AGENT               exposes IAgentRole isAgent(address)
              the call reverted: reverted without returndata
              spec: Any contract that fulfills the role of a Token
              contract must be compatible with the IAgentRole interface
    [  ? ]  IFACE-PRECHECK-ISVERIFIED    identity registry exposes isVerified(address)
              the token does not expose a usable identityRegistry(), so
              vectors targeting the registry cannot be run
    [  ? ]  IFACE-PRECHECK-CANTRANSFER   compliance exposes canTransfer(address,address,uint256)
              the token does not expose a usable compliance(), so
              vectors targeting the compliance contract cannot be run
    [  ? ]  IFACE-REGISTRY-CONTAINS      identity registry exposes contains(address)
              the token does not expose a usable identityRegistry(), so
              vectors targeting the registry cannot be run
    [  ? ]  IFACE-REGISTRY-COUNTRY       identity registry exposes investorCountry(address)
              the token does not expose a usable identityRegistry(), so
              vectors targeting the registry cannot be run

  WIRING
    [  ? ]  WIRE-COMPLIANCE-BOUND        the compliance contract is actually bound to this token
              the token does not expose a usable compliance(), so
              vectors targeting the compliance contract cannot be run
    [  ? ]  WIRE-COMPLIANCE-REFLEXIVE    compliance.getTokenBound() points back at this token
              the token does not expose a usable compliance(), so
              vectors targeting the compliance contract cannot be run

  BEHAVIOUR
    [PASS]  BEHAV-UNVERIFIED-RECEIVER    a transfer to an unverified receiver is refused
    [  ? ]  BEHAV-PRECHECK-AGREES        the pre-check agrees with what the transfer actually does
              no compliance contract to pre-check against
    [  ? ]  BEHAV-PAUSED-BLOCKS          while the token is paused, transfers are refused
              paused() is not readable
    [  ? ]  BEHAV-FROZEN-SENDER          a frozen sender cannot transfer
              requires a frozen counterparty or frozen balance to exist.
              Freezing state cannot be fabricated without a fork and a
              known storage layout for this token, so the control is
              unobserved rather than absent.
    [  ? ]  BEHAV-FROZEN-RECEIVER        a frozen receiver cannot be transferred to
              requires a frozen counterparty or frozen balance to exist.
              Freezing state cannot be fabricated without a fork and a
              known storage layout for this token, so the control is
              unobserved rather than absent.
    [  ? ]  BEHAV-FREE-BALANCE           frozen tokens are excluded from transferable balance
              requires a frozen counterparty or frozen balance to exist.
              Freezing state cannot be fabricated without a fork and a
              known storage layout for this token, so the control is
              unobserved rather than absent.

  CONTROL
    [PASS]  CTRL-POSITIVE                positive control - some transfer this token genuinely allows must succeed
    [PASS]  CTRL-NEGATIVE                negative control - an address with no identity must be refused

  7 passed   9 failed   11 not observable   0 n/a
  16 of 27 vectors were executable
  controls: positive=PASS  negative=PASS

  VERDICT  NON_CONFORMANT
           9 MUST-level vector(s) failed. Each cites the ERC-3643 clause it
           derives from.
exit — Who may this holder legally sell to?
  EXIT REACH
  ------------------------------------------------------------------
  token         0xaC0893567D43C3E7e6e35a72803df05416C1f20D
  holder        0x03681955065AF6EA51660dd63e7634fd0dE4d0a8
                tier 20, sub-tier 9, KYC present
  balance       8919998
  size tested   1000000

  ELIGIBILITY REACH   3 of 3 enumerable counterparties
                      LOWER BOUND - only enumerable counterparties were checked
                      source: built-in set of A-Pass holders discovered by scanning; NOT exhaustive

  REACHABLE  0xBe58C5eE13bE6a4aD8C9735c10a2967ED528CfBB
             tier 20, KYC present, expires 1863690034

  REACHABLE  0x888895E314BF33CEeBCF5320279061aed3a5E2bd
             tier 5, KYC ABSENT, no expiry set

  REACHABLE  0x83C130ed9fb92830F09ea2b30E49009EF03065Bb
             tier 28, KYC present, expires 2097058610

  negative control    0x00000000000000000000000000000000000000A1
                      credential: none  reachable: False   (correctly refused)

  BID DEPTH           NOT_MEASURED
                      No venue was supplied, so no bid was looked for. This is an
                      absence of measurement, NOT a measurement of absence.
                      Eligibility reach above says nothing about whether anyone will
                      buy.

  VERDICT  ELIGIBLE_COUNTERPARTIES_EXIST
           This holder is permitted to transfer to 3 of 3 enumerable
           counterparties. Permission to transfer is NOT a bid - see below.
sentinel — At what position size does each right switch on?
  SENTINEL — HOLDER RIGHTS BY POSITION SIZE
  ------------------------------------------------------------------
  token      0xaC0893567D43C3E7e6e35a72803df05416C1f20D
  holder     0x03681955065AF6EA51660dd63e7634fd0dE4d0a8
  receiver   0xBe58C5eE13bE6a4aD8C9735c10a2967ED528CfBB
  ladder     1 .. 10^12
  fabricate  True

  transfer   NO_CEILING_FOUND
             (move your position to another eligible party)
             Allowed at every probed size up to 1000000000000. No
             compliance ceiling exists below that, which is a bound on
             our ladder, not proof of none.

  approve    NO_CEILING_FOUND
             (authorise a venue or agent to move your position)
             Allowed at every probed size up to 1000000000000. No
             compliance ceiling exists below that, which is a bound on
             our ladder, not proof of none.

  redeem     FUNCTION_ABSENT
             (exit to the issuer)
             Every attempt reverted with empty returndata while the
             contract answered other calls, so this token does not
             implement the function. The right is not restricted — it
             does not exist here.

  burn       FUNCTION_ABSENT
             (destroy your own units)
             Every attempt reverted with empty returndata while the
             contract answered other calls, so this token does not
             implement the function. The right is not restricted — it
             does not exist here.

  Balances were fabricated on a fork, so sizes above the holder's real position were probed.
leakage — Is there a route around the gate?
  LEAKAGE MAP — 0xaC0893567D43C3E7e6e35a72803df05416C1f20D
  ------------------------------------------------------------------
  chain               monad (10143)
  candidates examined 36
  holders found       3

  eoa    0x03681955065AF6EA51660dd63e7634fd0dE4d0a8  holds 8919998 — no claim issued
  eoa    0xBe58C5eE13bE6a4aD8C9735c10a2967ED528CfBB  holds 1079000 — no claim issued
  plain  0x888895E314BF33CEeBCF5320279061aed3a5E2bd  holds 15100000 — issues no claim

  VERDICT  NO_ROUTE_AMONG_CANDIDATES
           No route among the 36 candidates examined. This is bounded by the
           candidate set, NOT a claim that no route exists — a wrapper we do
           not know about cannot appear here.
  scope: every token and access-core contract on this chain, plus known A-Pass holders. NOT an exhaustive holder set — a wrapper we do not know about cannot appear here.
circularity — Is the backstop denominated in what it backstops?
  CIRCULARITY — monad (chain 10143)
  ------------------------------------------------------------------
  nodes            32
  pairs probed     992  (0 unreadable)
  holding edges    0
  graph complete   True

  no cycle among the pairs that could be read

  VERDICT  NO_CYCLE_IN_COMPLETE_GRAPH   claim_supported=True
           Every one of the 992 ordered pairs among these 32 tokens was
           readable, and none forms a cycle. Still bounded by the node set: a
           cycle through a contract outside our universe would not appear
           here.
  note: The graph contains only tokens in our universe. A contract outside it cannot appear, so a cycle running through one would be invisible here.
heartbeat — What has gone quiet?
  recorded 32 observations at block 51,349,273 (32 answered, 0 did not)

  DEAD-MAN INDEXER
  ------------------------------------------------------------------
  observations   64
  assets         32

  NO_BASELINE  (32)
    SPTFIX0728      0x0e0d08c6d00b7e83084b577f9a6874be439e6d00  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CWRS03          0x0edd0c78ec0538ffc5486fd51364ea69c4d82f36  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    mEURW           0x1021e5ffac9a9e6e01d34eef9198fe68d597c998  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    RUSDC623663     0x16e5480790e4cb9fcb42a023766e67723ea97de5  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CWUSD           0x1a3225eb4d5eb81fcffd9cf5b554cfa3d02bad40  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    mCETES          0x267c086e387a0fc9835a6a372f27795ff3af5b83  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    TLNCASH         0x27e2f8eccc535b25c8366e6862b6fd3d9e83ef4e  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CAD             0x33115981004ae5ae1cc0fe068a4f1a171cbe78e8  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    LGCPROP1        0x42fb845de7bbed181819af1747bb36f5850cfcb3  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    RCP342535       0x43ad32d181b0b673cb782d8e379b3dfff4dacfdc  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CWRS02          0x45ffb672188008ca942e08c85d93d460948ebdec  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CLDT01          0x4727a40d36cda8505c42cafaad262bcf22abaeeb  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    usdc            0x534b2f3a21130d7a60830c2df862319e593943a3  1 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CWRS01          0x56bc7d32d09e52e8091ede433dbaab554401ace6  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    CRAIL4791       0x5813d568ebfc92f2610aa676896d05a6d68436cb  0 pulse(s) observed; 3 are required before a cadence exists. Silence here is unmeasured, not overdue.
    … and 17 more

  A dead-man indexer is longitudinal by construction: it is worth exactly as much as the number of days it has been running. One observation establishes nothing, and the tool says NO_BASELINE rather than pretending otherwise.
probe — full A-Token scan
scanning 31 A-Tokens on monad via http://127.0.0.1:8546

  VERDICT                COUNT
  NO_SUPPLY              13
  ENFORCING              12
  GATE_NOT_OBSERVABLE    6

  unknown selectors needing lexicon entries:
    0x9742a8f1  x4
    0x51d86cca  x1

  wrote C:\Users\prate\cleanverse\probe\results\scan-monad.json
archaeology — Monad, where the zero claim is REFUSED
  scanning blocks 51,355,649..51,358,648 in 30 chunks of 100

  REFUSAL ARCHAEOLOGY — monad (chain 10143)
  --------------------------------------------------------------------
  head block            51,358,648
  historical state      NOT SERVED
  eth_getLogs cap       100 blocks
  range                 51,355,649..51,358,648 (3,000 blocks)
  basis                 the most recent 3000 blocks, as requested
  chunks                30  (0 failed)
  COVERAGE              100.0%

  compliance actions found: 0
         0  AddressFrozen(address,bool,address)
         0  TokensFrozen(address,uint256)
         0  TokensUnfrozen(address,uint256)
         0  RecoverySuccess(address,address,address)
         0  Paused(address)
         0  Unpaused(address)
         0  IdentityRemoved(address,address)
         0  CountryUpdated(address,uint16)

  claim supported: False
    0 compliance action(s) found across 100.0% of the scanned range.
    THIS DOES NOT SUPPORT A 'NEVER HAPPENED' CLAIM. A zero here is an
    absence of scanning, not an absence of events.
depth — Monad, refusing to produce a figure at all (exit 5)
ERROR: monad serves no historical state, so the holder set cannot be enumerated and any depth figure would rest on a holder set we guessed. Refusing to produce one. Use --from-block/--to-block to measure an explicit window instead, and read the result as bounded.
archive — integrity check
  blobs referenced : 28
  missing          : 0
  hash mismatch    : 0

  every blob matches its hash — archive intact
live contracts — on-chain state
== live contract state ==
ledger total     : 4
tally a/r/m/n    : 1 3 0 0 
insolvency       : "You are a general unsecured creditor. You rank behind secured creditors and may recover little or nothing."
price basis      : "Last executed on-chain trade of this token. Not a valuation, and not the underlying's price."
redemption       : "No redemption is offered. Your only exit is selling to another eligible holder, if one exists."
totalSupply      : 1000000 [1e6]
09 / Reproduce it

Every figure re-derives from public state.

No credentials, no permission, nothing held. Paste and run:

git clone <repo> && cd cleanverse
./run.sh test        # 637 check executions, 12 unit suites, forked

# the headline, straight off the chain
cast call 0x36489bE45fa84f70a0c2BDB11D824Be608CB12Dd \
  "canTransfer(address,address,address,uint256)(bool)" \
  0xaC0893567D43C3E7e6e35a72803df05416C1f20D 0x888895E314BF33CEeBCF5320279061aed3a5E2bd \
  0x03681955065AF6EA51660dd63e7634fd0dE4d0a8 1 \
  --rpc-url https://testnet-rpc.monad.xyz
# -> true          (Cleanverse permits it)

cast call 0x85D4fb97f61756c1934Ce7C0d2A26B51fA7813A2 "tallyByAsset(address)(uint256,uint256,uint256,uint256)" \
  0x88Cc48FD13cDd707CBed8c5d77C4ee2ea61340E5 --rpc-url https://testnet-rpc.monad.xyz
# -> 1 3 0 0       (allowed, refused, mechanical, not observable)

cast call 0x85D4fb97f61756c1934Ce7C0d2A26B51fA7813A2 "idsBySelector(bytes4)(uint256[])" 0x52464e05 \
  --rpc-url https://testnet-rpc.monad.xyz
# -> [1]           (everything ever refused for having no KYC behind it)
10 / What this does not prove

Stated here, and enforced in code.

  • CVA asset wrapping. Not integrated, and not integrable — see section 05. Three on-chain blockers, each measured. Stated as a finding rather than hidden as a gap.
  • The full send flow with a credentialed holder. Records 0–2 used attest(). We do not hold those wallets' keys. The send path is proven by record 3 and by 18 contract tests, not by a credentialed live transfer.
  • Bid depth. exit/ measures eligibility reach and reports depth as NOT_MEASURED. Permission to sell is not a buyer.
  • Acquirability of a leakage route. Routes are structural only. A route that exists is not a route that is usable.
  • Refusal history on Monad. Its public endpoint serves no historical state and caps eth_getLogs at 100 blocks, so the zero claim is refused there. The complete-history result is Base only.
  • Freeze and pause enforcement. Those need state that must already exist on the token; reported unobserved rather than absent.
  • Whether any asset is real. 21 of ~22 documented RWA failures happened off-chain. No simulator reaches that.