RWA Tokenization Explorer
A live demo of an ERC-3643-inspired real-world-asset token on Base Sepolia. Fractions of a real-world asset trade as an ERC-20 whose every mint and transfer is gated on an on-chain KYC whitelist — a transfer to an unverified address is refused by the token itself.
Base Sepolia · testnet only
Everything below is live and readable without a wallet — connect one only to send a transaction, and see the KYC hook decide whether it goes through.
Token 0xf6d3…Ce32 · Identity 0x8FD9…9b82 · Assets 0x4bB2…D024 · Oracle 0x5f30…15Aa · Redemption 0xcC74…a822 · Source on GitHub
Live on chain
Live data unavailable — showing the last known values.
- Token supply8000 ACME
- Backing assets12
- Redemptions1
- Oracle price$1.05
- Block44527675
The token (Acme Tower Fractions, ACME) has 18 decimals. Supply moves only by compliant mint and by redemption burns. The oracle price is a mock push feed with an on-chain staleness stamp.
The compliance story
Four transactions, already on chain, tell the whole story. The third is the point of the whole demo: an ordinary, correctly-formed ERC-20 transfer that the token itself refuses, because the recipient was never KYC-verified.
| Step | Outcome | Transaction |
|---|---|---|
| Mint 10,000 ACME to verified Investor A | Success | 0xe738…1a05 |
| Investor A → deployer, 1,000 ACME (both verified) | Success | 0x0990…8a54 |
| Investor A → Investor B, 500 ACME (B not KYC-verified) | Reverted | 0x034b…2557 |
| Investor A redeems 2,000 ACME against asset 0 | Success | 0x4cb2…63d4 |
Backing assets
All assets (12)
| # | Status | Document hash | Metadata URI |
|---|---|---|---|
| 0 | Active | 0x8ced…33bc | ipfs://bafy-acme-tower-manhattan-office-deed |
| 1 | Active | 0x00c2…4e12 | ipfs://bafy-lakeside-logistics-warehouse-title |
| 2 | Active | 0xf59b…94bb | ipfs://bafy-solar-farm-nevada-ppa-bundle |
| 3 | Active | 0x2aa4…4990 | ipfs://bafy-vineyard-estate-napa-land-grant |
| 4 | Active | 0xe0ef…9a30 | ipfs://bafy-marina-berths-portfolio-lease |
| 5 | Active | 0xdb75…4b50 | ipfs://bafy-datacenter-ashburn-colocation-note |
| 6 | Active | 0x788e…0b89 | ipfs://bafy-timberland-oregon-parcel-registry |
| 7 | Active | 0xf25f…4e4d | ipfs://bafy-hotel-riverfront-revenue-share |
| 8 | Active | 0xcde5…245c | ipfs://bafy-wind-portfolio-texas-turbine-set |
| 9 | Active | 0xabb8…b5c1 | ipfs://bafy-student-housing-austin-reit-slice |
Interact
Everything above is readable without a wallet. To send a transaction, connect one — it signs and broadcasts on your machine. Pigfox never holds, receives, or proxies a private key.
Not connected.
Check your compliance status
Reads whether your connected address is on the KYC whitelist and how many ACME it holds. A public visitor is not whitelisted — which is exactly why the transfer below will be refused.
Connect a wallet to check.
Transfer tokens
Redeem tokens against an asset
Every check on this panel is UX only — the contract enforces all of it regardless of what this page allows. Whitelisting an identity and minting tokens are agent-only actions performed by the deployer during setup; there is deliberately no whitelist or mint affordance here, because a public visitor cannot (and should not) call them.
About this demo
Testnet only. The token holds no value; the assets, the oracle price, and the KYC whitelist are all seeded for the demo. The contracts are hand-rolled (the ERC-3643 T-REX suite is not vendored), 100% covered, and checked by Slither and Echidna.
Pigfox never holds, receives, or proxies a private key. This page reads the chain and nothing more; anything that changes state is signed by your own wallet.
The full threat model, invariants, and tooling results are in the security notes, and the contracts + deploy provenance are in the source repository.