Self-Hosted Trading Infrastructure

Trading agents you neverhave to trust.

Self-hosted trading agents that execute inside caps your account contract enforces on-chain — verifiable, not claimed. Name it, chat with it, steer it from Telegram.

100% of trades pass the on-chain policy wall
Your owner key never leaves your device
MIT-licensed and fully open source
01 — the trust layer

The wall is the product.

Anyone can ship a trading agent. The hard thing — the thing oathwall is — is an agent you don't have to trust: your owner key never leaves you, and it trades inside caps the chain itself enforces — a leaked session key is value-churn, never theft.

The rule of the house: the model proposes, deterministic code disposes.

No strategist, Telegram message, or voice note ever constructs calldata, moves funds, or touches your PC without passing a closed, typed command set and — for money — the on-chain policy wall. Trades pass caps enforced by the account contract. Transfers are amount-capped and confirm-gated.

And you don't take our word for it: your dashboard shows the account contract, the session key, and every cap with explorer links — and a prove the wall button that fires malicious intents through the live policy so you can watch each one bounce.

Why not wait for a platform's own agent?

A first-party agent is custodial by construction: their servers, their keys, their discretion — the safety story is a terms-of-service. If the platform, its model, or its prompt gets compromised, so does your account. You trust; it trades.

oathwall inverts it

The agent holds only a session key whose limits — how much per trade, how often, how long it lives, and where value may land — are enforced by your account contract on-chain, verifiable in the explorer. You verify; it trades.

02 — what it is

An agent that works while you sleep.

The strategist proposes; deterministic code disposes. Nothing the model outputs — a trade, a transfer, a command — reaches your funds or your machine without passing a typed, closed command set and the on-chain policy wall.

Your machine, or ours

Self-host it, or run it hosted.

One npm install for a local dashboard and a worker on your own machine — or run it hosted from a URL, no install. Either way your owner key is generated on your device and never leaves it.

  • Create a wallet in-browser — nothing to connect
  • Caps enforced by the account contract on every op
  • Testnet sandbox or real mainnet, you choose
  • Kill switch destroys the grant, halts the agent
~/.oathwall/ ├─ settings.json # your knobs ├─ grant.json # the signed wall ├─ oathwall.db # the ledger ├─ strategies/ # your own bots └─ soul/ # who your agent is ├─ IDENTITY.md ├─ OWNER.md └─ JOURNAL.md
Telegram

Run your agent from your phone.

Link a bot and chat with your agent in plain English or slash commands. Check the book, trade, transfer with a confirm, set price alerts, get a daily report.

  • “how are we doing?” · “pause everything”
  • Trade pings, drawdown & gas warnings, daily digest
  • Transfers are triple-guarded and always confirmed
  • Voice notes work too
how are we doing today?
Up +$14.20 (+2.1%) — QQQ is your best holding. Quiet and green.
buy 20 usdg of msft
Submitted buy 20 USDG MSFT — watch /trades. Passed the policy wall.
Remote control

It can run your PC, too.

Screenshots, "what am I looking at?", open apps, browse files, allowlisted shell, keystrokes, reminders and watchers — from Telegram. Off by default, one capability at a time, sharp edges always behind a confirm.

  • Screenshot & vision · open apps and URLs
  • Allowlisted shell · type & hotkeys
  • “ping me when my build finishes”
  • Every sharp action needs an explicit confirm
what am I looking at?
A failing test in policy.test.ts — the daily-cap assertion expected 500 but got 525.
run npm test
Confirm run npm test — /confirm or /cancel.
The soul

Every agent is an individual.

Give it a name. It keeps its own markdown files, learns who you are, writes a journal at report time, and grows more familiar the longer it runs.

  • “I'll call you Atlas” — it's named
  • It remembers your preferences from conversation
  • Milestones at a week, a month, a hundred days
  • Read or edit its soul with any editor
/soul
Atlas · old friend · 34 days linked, 210 messages shared. My soul lives in ~/.oathwall/soul/.
03 — the toolkit

Everything, gated by design.

01

LLM strategist

Claude proposes typed buy/sell/hold at decision windows; deterministic code validates and disposes. The model never sees an address.

02

Built-in strategies

steady-basket DCA, weekend-gap that trades the close→open gap, or a hot-reloaded bot you write yourself.

03

On-chain caps

Per-trade, daily, ops/day, drawdown breaker, key expiry — enforced by the account contract on every operation.

04

Simulate first

Every swap gets a live quote before it is signed. Minimum-out is met, or nothing moves.

05

Chat transfers

Refused. A wallet signed today registers no withdrawal address, so its wall carries no transfer permission — nothing leaves through chat. Money comes home with your owner key.

06

Honest scoreboard

Rejections shown with the same weight as wins. A simulation receipt attached to every trade.

07

Proactive pings

Trades landing, drawdown, gas and expiry warnings, your price alerts, a daily report at your hour.

08

Voice & vision

Send a voice note; ask what is on your screen. Powered by your own Anthropic key.

09

Kill switch

One command destroys the grant; the worker stands down next tick. On-chain expiry is the backstop.

04 — quickstart

Up and running in three steps.

Install, create an agent, watch it trade on paper. Real money is optional and comes later.

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/rempprandy-afk/oathwall/main/install.sh | bash

# Windows (PowerShell)
irm https://raw.githubusercontent.com/rempprandy-afk/oathwall/main/install.ps1 | iex

# already have Node 22.12+ ? (any OS)
npm install -g oathwall && oathwall start

Runs on Linux, macOS, and Windows — one Node package, no Docker, no clone. Your agent starts in paper mode (live prices, simulated fills, zero funds). Upgrade any time with oathwall update.

1

Open it and connect a wallet

No install, nothing to run, no card. Your wallet signs to prove it is you — it never moves anything, and oathwall never sees a private key of yours.

2

Sign the wall

Choose what your agent may spend and how long its key lives, then sign once. That signature IS the limit: your account contract checks it on every operation, so the agent cannot exceed it even if our software is compromised.

3

Fund it and it trades

Send it some money and it starts working the market. Change the limits whenever you like — re-signing is free and instant. Steer it from Telegram if you prefer, or take everything back out with your own key.

05 — two minutes

Set up Telegram

  1. Message @BotFather/newbot → copy the token
  2. Dashboard → Settings → Telegram → paste, test, enable
  3. Message your bot /link <code> — you're the owner
  4. Say "how are we doing?" — you're chatting with your agent

Full Telegram guide

/link 5HDE9E
You're linked — you now command this agent. Try /status.
/status
Atlas — status
worker: alive · chain: testnet 46630
strategy: steady-basket · venue: uniswap
caps: 50/trade · 500/day · breaker 10%
06 — reports from the field

Early words. Honest receipts.

"The on-chain permission wall is good — smart. The trust layer makes the moat."

— an early code reviewer, unprompted, after reading the source

MIT open source — read every line200+ tests on the policy wall & pipelinecaps enforced by the account contract, verifiable in the exploreryour owner key never leaves your device — self-hosted or hosted

Running an agent? Tell us what broke and what sang — the beta group on Telegram, @OathwallAI, or a GitHub issue.

Deploy your agent.

Free, open source, and yours. Install it, name your agent, watch the first trade.

The beta group is open — early builds, rough edges, and a direct line to whoever broke it. Keep your bot token, grant link and private key out of it. Nobody there ever needs them.