Clearwave
Compliance-gated music royalty shares. Artists sell a slice of future streaming royalties to verified investors.
Offering #0
A Cleanverse A-Token representing a share of this artist's royalties.
Compliance is enforced on-chain
These are live canBuyAmount() reads against the deployed contract — not a UI mock. The same check the buy transaction runs.
Buy one share — as either wallet
Both buttons send a real transaction on Monad testnet, signed server-side by the demo wallets. Same code path, same offering; only the A-Pass differs.
The refusal is produced by the chain, not by this page. The button is enabled either way — nothing is hidden client-side — and the transaction is simulated against the deployed contract before it is sent, so the error shown is the contract's own.
Your wallet
Optional. The offering above is real on-chain state and renders without one.
Expect to be refused: a wallet without a Cleanverse A-Pass cannot buy. That refusal is the point, and it comes from the token contract, not from this page.
Under the hood
Every contract below is ours except the A-Tokens, which Cleanverse issues and which enforce compliance themselves.
The RoyaltyDistributor holds its own Cleanverse A-Pass. It is not a wrapper around compliance — it is itself a verified entity, and without that A-Pass it cannot receive or pay out a single unit of royalty.