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.
A refusal that survives its own transaction, with the rule that caused it, queryable on-chain.
317 tokens against the ERC-3643 standard. 12.36M blocks of refusal history. Every figure re-derivable.
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.
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.
| Contract | Address | On-chain size |
|---|---|---|
| RefusalLedger | 0x85D4fb97f61756c1934Ce7C0d2A26B51fA7813A2 | 3,781 bytes |
| TransferDesk | 0x57fcf5CCFbE85846D74dDdD7B4d84A07a2F359A7 | 2,566 bytes |
| CompliantAsset | 0x88Cc48FD13cDd707CBed8c5d77C4ee2ea61340E5 | 7,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]
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.
0xa79E4D3B…CfA6 holds no A-Pass.
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.
No tokens transferred. The refusal held.
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.
Cleanverse's own gate approves a credential with nothing behind it.
Same address. Same chain. Same block. Two different answers.
0x36489bE45fa84f70a0c2BDB11D824Be608CB12Dd
"credential has no KYC behind it"
| A-Pass record as read on 2026-08-06 | Value |
|---|---|
| address | 0x888895E314BF33CEeBCF5320279061aed3a5E2bd |
| status | 1 — active |
| tier | 5 |
| expirationTime | 0 — never set |
| currentKycHash | 0x0 — nothing behind it |
| code | 0xef0100… — EIP-7702 delegated smart account |
| holds | 15.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.
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-08 | Then | Now |
|---|---|---|
| currentKycHash | 0x0 | 0x0100…0000 — 0x01 and 31 zero bytes, not a digest |
| tier | 5 | 5 — unchanged |
| expirationTime | 0 | 0 — still never set |
| share of supply | 9.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.
We said CVA was closed to third parties. We were wrong, and the mistake was ours.
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.
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.
A wrapper contract cannot receive one — NoAPass(address)
(0xa6725971). Our own deployed contracts hold no A-Pass:
ownerOf returns ERC721NonexistentToken.
Ten mint / issue / claim candidates against the registry. Every one reverts bare — no open path exists.
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.
Nine tools. Each answers one question nobody else answers.
| Tool | Question | Result, this snapshot |
|---|---|---|
| probe | Does the gate actually fire, or is it decorative? | 31 Monad A-Tokens: 12 ENFORCING · 13 NO_SUPPLY · 6 GATE_NOT_OBSERVABLE · 0 decorative |
| conformance | Does this token implement ERC-3643? | 0 of 283 permissioned tokens conform. 283/283 miss identityRegistry() and compliance(). |
| exit | Who may this holder legally sell to? | 3 of 3 enumerable counterparties reachable. Bid depth NOT_MEASURED — reach is not liquidity. |
| sentinel | At what position size does each right switch on? | transfer/approve: no ceiling to 10¹². redeem and burn: FUNCTION_ABSENT. |
| leakage | Is there a route around the gate? | 36 candidates, 3 holders, no structural route. Found the 7702 account holding 9.93%. |
| circularity | Is the backstop denominated in what it backstops? | 992/992 pairs readable, 0 holding edges, no cycle in a complete graph. |
| heartbeat | What has gone quiet? | 32 assets observed. All NO_BASELINE — refuses to alarm on one observation. |
| archaeology | Has 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. |
| depth | How many parties stand between you and the asset? | [1, 2] — an interval, not a number. 5 edges undecidable. |
| archive | What did the issuer claim, and when? | 28 blobs, 0 missing, 0 hash mismatches — archive intact. |
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.
probe/lexicon.json — one
decoder shared by the prober, the contracts and this page.
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.jsonconformance — 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.jsonarchaeology — 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]
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)
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
sendflow with a credentialed holder. Records 0–2 usedattest(). We do not hold those wallets' keys. Thesendpath 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 asNOT_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_getLogsat 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.