On 17 December 2025 the SEC's Division of Trading and Markets set out five conditions for a broker-dealer to treat itself as having physical possession of a crypto asset security. Six days later the 2020 Special Purpose Broker-Dealer statement expired. This is the layer that evidences those five conditions — continuously, and to an examiner.
Most compliance software is built to produce an output. This is built to withhold one.
An evidence engine that always says yes manufactures a paper trail asserting a determination nobody actually made. That is not a neutral failure — it is worse than having no system at all, because it creates a record an examiner will read as a considered judgement.
So the interesting behaviour here is the negative path: what the system does when the evidence is not there. Three of the six stages in the demo end in a refusal.
Every component carries one of four labels. Nothing is described as finished when it is not — and the gaps below are stated as plainly as the wins.
ModularCompliance, not a mock| # | Condition — TM statement, 17 Dec 2025 | How it is checked |
|---|---|---|
| 1 | Full access and ability to transfer on the DLT | Cryptographic proof of control, re-proven every 24 hours |
| 2 | Written policies protecting private key access | Approved policy on record, hash-committed |
| 3 | Documented DLT security & operational integrity assessment | Current assessment affirming both prongs |
| 4 | Contingency procedures — fork, 51%, airdrop, seizure, trustee | All five named events addressed; gaps named individually |
| 5 | No known material security or operational problems | Kill switch. Any open concern voids the assertion |
Conditions 1–4 are prerequisites — they need an affirmative record. Condition 5 is a veto: it asks whether a problem is open, so on an empty chain it passes. That asymmetry is deliberate and pinned by a test, because the failure mode it prevents is ugly — a firm with no evidence at all appearing to be one step from compliant.
The proof signs a random challenge, never a serialised transaction. It carries
no TransactionType, no Account, no Fee, no
Sequence. A leaked proof cannot move anything — and a test asserts the
signature fails to decode as a transaction.
Hash-linking makes tampering detectable, not impossible. A firm that controls the entire file can rebuild the chain end to end and it will verify clean.
Closing that gap requires anchoring the head hash somewhere the firm cannot rewrite — a third-party WORM store or a public ledger. That is not implemented. Until it is, this is a strong internal control, not an independent record, and it must not be described to an examiner as the latter.
The gate's real logic. Four of the seven terminal paths are not an assertion.
EVM carries transfer logic needing arbitrary computation. XRPL carries settlement and membership — putting the eligibility check in the ledger itself rather than an application server.
XRPL cannot enforce the seasoning clock on-ledger, because Hooks never activated on XRPL mainnet. That red node is the one place the two rails do not enforce the same thing — and it is in the build ledger as a named gap rather than left for a buyer to discover during diligence.
No screenshots. Every green label above corresponds to a command you can run in about four minutes.
$ git clone https://github.com/FTHTrading/BD-New.git
$ cd BD-New && npm install
$ npx hardhat test # 17 passing — ERC-3643
$ node --test possession/test/possession.test.js # 31 passing — possession
$ node xrpl/validate.js # offline conformance
$ node possession/demo.js # end-to-end
Stage 1 no evidence on record REFUSED
Stage 2 third-party custodian routed to 15c3-3(c), not (b)(1)
Stage 3 incomplete procedures REFUSED — names the 3 missing contingencies
Stage 4 procedures completed ASSERTED
Stage 5 reorg observed REFUSED ← condition 5 kill switch
Stage 6 concern investigated ASSERTED
Independent re-verification from disk
PASS chain re-verifies from the written file
PASS tampering detected at receipt 3 (content does not match its hash)
[TO BE COMPLETED BY THE FIRM] markers.
They are deliberate. A policy with plausible filler is more dangerous than an
obviously incomplete one.| Source | What it does | Its limit |
|---|---|---|
| 17 CFR 240.15c3-3(b)(1) | Physical possession requirement | The rule itself |
| 17 CFR 240.15c3-3(c) | Good control locations | Different test — third-party custody |
| TM staff statement, 17 Dec 2025 | Five conditions for crypto asset securities | Staff view. Not a rule. No safe harbour |
| 2020 SPBD statement | Prior framework | Expired 23 Dec 2025 |
| 17 CFR 240.17a-4 | Recordkeeping — WORM or audit-trail alternative | Anchoring gap applies |