Two minutes to a running agent.
One package install, no Docker, no repo clone, no wallet. The agent starts on paper — live prices, simulated fills, nothing at stake — and stays there until you decide otherwise and the contract agrees.
Install
Everything lands under ~/.warden/. No service, no cloud dependency, nothing phoning home.
Your first agent
What lives on disk
{{ tree }}
Writing a policy
The policy is declarative. You author it, warden ward compile turns it into on-chain parameters, and from then on the contract — not this file — is what enforces it. Editing the file changes nothing until you compile and commit.
Class A / B / C
Every rule is classified by what actually enforces it. The UI never blurs the difference, and neither should your mental model.
Contract-enforced
Fully decidable from chain state and calldata. Caps, allowlists, budgets, expiry, promotion state. The strongest guarantee we can give.
Contract, with an input
Needs an oracle: volatility, correlation, drawdown in quote currency. Every input carries a staleness bound, and a stale input denies.
Client, reconciled after
For venues a contract cannot see, such as a brokerage bridge. Structurally weaker, always labelled as such, and not shipping in v1.
The intent set
This is the entire vocabulary a strategist can speak. It cannot invent a new verb, it cannot pass an address, and there is no parser anywhere that turns prose into an operation.
Promotion & demotion
Editing a strategy file changes its hash, and a changed hash sends the agent back down a stage. That is not a bug report we will accept — a modified agent has not proven anything yet.
Verify a denial yourself
Any third party, with nothing but public data, should reach the same verdict the contract did. If you can't reproduce one of our denials, that is a bug and we want the report.
CLI reference
When something breaks
Want to attack it instead?
The public wall test takes hostile intents from anyone, with no install and no wallet. Denials come back with the rule and the transaction.
Test the Ward →