The app

Ask a vault what you can take.

Everything below is a JSON-RPC call from your own browser to Robinhood Chain. There is no backend, no API key, and no private key anywhere in this project. Reading needs no wallet.

Reproduce the sweep

Any vault, any holder.

The same three calls tools/scan.mjs makes — read maxWithdraw, simulate withdraw of exactly that, then simulate one unit more — plus the control that has to fail. Prefilled with a vault from the table.

An Cupel deployment

Deploy one, then watch the two quotes.

There is no canonical Cupel yet, and a placeholder that looked like one would be a lie. The contract below is the one the property suite ran — the app deploys it from your wallet, because no private key is held anywhere in this project.

Deploy the contract

assetUSDG 0x5fc5360d0400a0fd4f2af552add042d716f1d168
name / symbolCupel USDG · aUSDG
stewardnone — nothing can be moved out of the vault, by anybody
exit fee0.25%, kept by the holders who stayed
runtime fingerprint0xdc7c3dd5aa82897fdde1…
measured cost1,941,482 gas · 0.00034330 ETH

The creation bytes are simulated first, and the address it will land at is shown before you are asked to sign. tools/verify-deploy.mjs ran the same bytes against this chain and they estimated at 1,941,482 gas.

Read an Cupel