Reference
Live proof
Recorded transactions on Monad mainnet and testnet that show each part of Floatless working.
On this page
Every transaction on this page was recorded on October 13, 2026, and each one is labeled with the network it ran on. You can open any of them on the explorer and check it yourself.
What the labels mean
| Label | Meaning |
|---|---|
| Live mainnet | A real transaction on Monad mainnet, chain ID 143, with real money. Check it on monadscan.com. |
| Live testnet | A real transaction on Monad testnet, chain ID 10143, with test money. Check it on testnet.monadscan.com. |
| No transaction | Floatless stopped the payment before anything was signed, so there's nothing onchain to find. |
| Simulated | The transfer was tried against live testnet state without being sent. No transaction exists and no fee was paid. |
| CRE CLI simulation | The Chainlink CRE workflow ran in the official CRE CLI and broadcast a real Monad mainnet transaction through Chainlink's simulation forwarder. It isn't a production DON run. |
| Cleanverse sandbox | A document Cleanverse's sandbox produced for a live testnet payment. |
Floatless Savings on mainnet
The deposit and withdrawal were recorded through the mainnet API, api-mainnet.floatless.xyz, using the same transactions the app builds.
| Step | Label | What it shows | Transaction |
|---|---|---|---|
| Vault configured | Live mainnet | One all-or-nothing transaction from the owner key applied the vault's whole setup. A read-only check then compared the result with live chain state. | 0x8b7dfc71…5db830 |
| Deposit 4 AUSD | Live mainnet | 4 AUSD moved into Floatless Savings. The API checked the vault's Deposit event and added Moved to savings to the wallet's history. | 0x9cf5ca65…f143c5 |
| Withdraw 1 AUSD | Live mainnet | 1 AUSD came back to the wallet. The API checked the vault's Withdraw event and added Withdrew from savings. | 0x63ddbe7c…123920 |
The two transactions that created the vault and its adapter are on Contracts and verification.
Scheduled release with Chainlink CRE on mainnet
SafeLock holds AUSD in Morpho's AUSD vault until a set date, then pays it to the beneficiary. A Chainlink CRE workflow checks for mature locks, confirms through node consensus over Morpho's API that the vault is still the configured AUSD venue, and sends the release. If CRE isn't running, anyone can release a mature lock, so money is never stuck.
| Step | Label | What it shows | Transaction |
|---|---|---|---|
| SafeLock deployed | Live mainnet | SafeLock deployed on its own, bound to AUSD, Morpho's AUSD vault and the CRE simulation forwarder. Source-verified on Monadscan and MonadVision. | 0xd7517318…a3a1ec |
| Lock 1 AUSD | Live mainnet | 1 AUSD locked for a team wallet, earning in Morpho until its release time. | 0xb2050092…0b8b83 |
| Released by CRE | CRE CLI simulation | The CRE workflow found the mature lock and released 1 AUSD to the beneficiary. The LockReleased event names the CRE forwarder as the executor. |
0x97502d5a…738497 |
The first CRE attempt, 0x56723a39…1804d5, released nothing. Gas estimation couldn't see SafeLock's Morpho redeem, because the forwarder catches a receiver's revert. The workflow now sets the gas limit explicitly and fails when SafeLock rejects a report.
Regulated dollars on testnet
Regulated dollars, Cleanverse's aUSDC, run on Monad testnet only, with Cleanverse's sandbox. These steps were recorded with the testnet API, api.floatless.xyz, and that sandbox. The test wallets signed in through the same passkey flow the app uses.
The test wallets
| Wallet | Address | Cleanverse identity |
|---|---|---|
| Sender | 0x21d12b78F83044AFc433b3493aBEF452dCFD450e |
Verified |
| Verified recipient | 0xe0a65AE7A77EebA5AC464bD3C103Cb1D55EAFF2B |
Verified |
| Unverified recipient | 0x8BD784F56cd60ee1b7bd7e39F8043Be0983A10cE |
None |
What happened
| Step | Label | What it shows | Proof |
|---|---|---|---|
| Sender identity issued | Live testnet | Cleanverse's sandbox issued a verified identity to the sender | 0x69b21309…68cc49 |
| Recipient identity issued | Live testnet | The same for the verified recipient | 0x0888935b…e04092 |
| Sender funded | Live testnet | A setup step that gave the sender aUSDC from Cleanverse's sandbox faucet | 0x0fc1fd3a…ae44b6 |
| Spending rules registered | Live testnet | Version 1 of the sender's spending rules on the testnet registry | 0xe68df9f3…48310a |
| Payment to the unverified wallet | No transaction | Sending 0.01 aUSDC to the unverified recipient was declined before signing, because that wallet has no Cleanverse identity | Decision 09237790-c14a-473b-99b5-f64b10611fd3 |
| Payment that skips Floatless | Simulated | The same 0.01 aUSDC transfer, tried straight on the aUSDC contract, was rejected by the contract itself. The same transfer to the verified recipient simulated successfully. | None |
| Regulated payment settled | Live testnet | 0.01 aUSDC reached the verified recipient, and Floatless linked the payment to the Cleanverse decision that allowed it, abd45186-6ead-4210-9136-f653af74f360 |
0x2f24f858…577a11 |
| Travel Rule report | Cleanverse sandbox | Cleanverse's Travel Rule report for that payment | Report PDF |
Decision IDs are the Floatless testnet API's records of each Cleanverse check. They aren't onchain, so the explorer can't show them. The report lists the sender's wallet, the 0.01 amount and a shortened form of the payment's transaction hash, so you can match it to the settled payment. Regulated dollars explains the whole flow.
Check a transaction yourself
- Open the transaction link. Mainnet links go to monadscan.com and testnet links go to testnet.monadscan.com. A hash from one network won't show up on the other network's explorer.
- Check that the transaction succeeded.
- Check which wallet sent it and which contract it called.
- Look at the tokens that moved and the event logs.
| Transaction | Sent from | Contract called | What to look for |
|---|---|---|---|
| Vault configured | The owner, 0x024Db1faC265D471C2a5eca95AD00C19e3394A07 |
The savings vault, 0x35277466836C6cdb426F50DDF79db0e043e6bbFe |
Events from the vault for the settings the transaction applied |
| Deposit 4 AUSD | The saver's wallet | The savings vault | A Deposit event naming the wallet, and 4 AUSD leaving it |
| Withdraw 1 AUSD | The saver's wallet | The savings vault | A Withdraw event naming the wallet, and 1 AUSD arriving in it |
| Spending rules registered | The sender | The testnet registry, 0x127af791F0807584CaEAe5eDDfd8012972E9a3Da |
A MandateRegistered event for the sender with version 1 |
| Regulated payment settled | The sender | aUSDC, 0xaC0893567D43C3E7e6e35a72803df05416C1f20D |
0.01 aUSDC moving from the sender to the verified recipient |
Event logs show raw amounts. AUSD and aUSDC both use 6 decimal places, so 4 AUSD shows up as 4000000 and 0.01 aUSDC as 10000.
The live proof console
floatless.xyz/proof reads the testnet API each time you open it. It shows whether the Floatless API is up, and which Cleanverse environment, aUSDC contract and identity contract the API is using right now. The API asks Cleanverse for that setup on every request instead of storing it. The console only reads, so it can't start a payment or change anything. It also has a receipt lookup, which works only for your own account and needs a receipt ID and a session token from a signed-in session.