A · hosted
Open it in a browser.
Connect a wallet, sign your limits, fund the agent. Nothing to install. Your wallet signs to prove it's you and never moves anything by itself.
app.oathwall.dev →01 / The oath
Your account contract checks every trade the agent makes against the terms you signed, so it can't overspend, can't withdraw, and can't outlive its key. That holds even if our software is compromised.
// agent "Atlas" may trade, and only within:
02 / Try the wall
These are the checks your account contract runs on every operation, against the oath above. In the app, prove the wall fires the same attempts at your live policy so you can watch each one bounce.
Buy 5,000 USDT of CAKE in one go
Refused
clause 1 · per trade
5,000 is over the 50 USDT per-trade limit. The session key cannot sign it, so nothing reaches the chain.
03 / The terms
It is generated on your device and stays there. The agent gets a session key, a separate key whose powers are cut down to exactly what you signed. Money only comes home through your owner key.
The strategist (Claude, on your own key) suggests a typed buy, sell or hold. Deterministic code checks it against a closed command set, and the account contract checks it again. The model never sees an address and never builds a transaction.
Each trade gets a live quote before anything is signed. If the minimum-out isn't met, nothing moves. Refusals show up on your scoreboard with the same weight as wins.
The kill switch destroys the grant and the worker stands down on its next tick. If everything else fails, the key's on-chain expiry ends it anyway.
04 / Run it
A · hosted
Connect a wallet, sign your limits, fund the agent. Nothing to install. Your wallet signs to prove it's you and never moves anything by itself.
app.oathwall.dev →B · self-hosted
$ npm install -g oathwall $ oathwall start ✓ paper mode · live prices, no funds
Linux, macOS or Windows, Node 22.12+. It starts in paper mode: live prices, simulated fills, no funds.
Install guide →C · Telegram
how are we doing?
Up $14.20 today. 3 trades, 1 refused by the wall.
pause everything
Paused. Resume with /resume.
05 / Why not a platform's own agent
| Question | A platform's agent | oathwall |
|---|---|---|
| Who holds the keys | The platform | You: owner key on your device |
| Where the limits live | Terms of service | Your account contract, on-chain |
| If the server is breached | Your account goes with it | The attacker holds a capped, expiring key |
| How you check | Take their word | Read the caps in the explorer |
| Withdrawals by chat | Whatever the bot allows | Impossible: no withdrawal address |