Live
0Apps shipped on Robinhood Chain. One wallet carries across every one of them.
In development
0Building on the Robinapps SDK. Ship yours and it lands here.
Apps shipped on Robinhood Chain. One wallet carries across every one of them.
Building on the Robinapps SDK. Ship yours and it lands here.
Describe an app and Claude builds it. Deploy anything — real contracts, real ETH, on Robinhood Chain.
Connect a wallet to use the terminal Your address identifies the apps you build and launch.
Apps the terminal has written to apps/.
Publishing gives an app its own public URL and lists it on the launchpad for everyone — not just the browser that built it.
Everything an app can do on Robinapps. Apps never hold keys, never move funds and never decide outcomes — they can only ask.
An app is a plain HTML page. Load the SDK and the components, then tell the container you're ready.
<script src="../../sdk/sdk.js"></script>
<script src="../../sdk/components.js"></script>
<script>
robinapps.ready({ name: "My App", game: "myapp" });
</script>
Every method returns a Promise. Money methods pop an approval sheet in the container first.
| Method | Params | Returns |
|---|---|---|
| getAccount() | — | The connected wallet address. |
| getBalance() | — | Balance as {eth, usd}. |
| wager() | {amount, game, pick} | Opens an on-chain challenge. Returns {pending, gameId, stake}. |
| openGames() | — | Open challenges: [{id, maker, isMine, stake, makerHeads}]. |
| joinGame() | {gameId} | Takes the other side and settles. Returns {won, payout, roll}. |
| cancelGame() | {gameId} | Cancels your own open challenge, stake returned. |
| pay() | {amount, reason} | Requests a payment. Shows the approval sheet. |
| leaderboard() | {game} | Net results per player, best first. |
| ready() | {name, game} | Announces the app to the container. |
| on() | (event, fn) | Subscribe to balance and leaderboard events. |
Drop-in custom elements from sdk/components.js, styled to match the platform.
| Element | Attributes | What it does |
|---|---|---|
| <ra-app> | title, subtitle | Page shell — header and layout for your app. |
| <ra-stake> | min, max, value, presets | Stake input with preset amounts. Read .value. |
| <ra-button> | loading | Primary action button. Fires a press event. |
| <ra-result> | — | Win/lose panel. Call .show(kind, amount, text). |
| <ra-leaderboard> | game | Live standings, refreshes itself. |
Apps run in an iframe with sandbox="allow-scripts allow-forms" — no same-origin
access, no wallet access, no way to reach the parent except through the SDK. The container
shows the approval sheet, moves the funds and decides the outcome. Design for that.