Skip to main content
In short: you describe a strategy in chat, for example “buy cbBTC when it looks oversold, never more than once a week”. The agent writes it as a strategy card: a few lines of English that say where it runs, when it acts, what it does and how much it may spend. The agent checks the card and backtests it. You read what it can do, approve it with your signature, and start it. From then on it acts by itself, inside the limits you signed. You can stop it at any time. A card is a plan you can read. The agent does not write code for you to trust. It writes sentences, and a checker refuses any sentence it cannot turn into a safe plan.

An example

Read it top to bottom. It runs on Base. It may use 5,000 USDC. When the ETH price is below $3,000, it swaps $100 of USDC for WETH and accepts at most 0.5% below the market price. It acts at most once a day and stops after 52 runs.

Two parts: cards and measures

A card reads a measure by name, as in WHEN rsi(cbBTC) is below 30. The number comes from the measure. The decision and the money stay in the card.

From idea to a running card

1

Describe it

Tell the agent what you want in chat. Writing a card in chat shows what to say.
2

Read the card

The agent shows the card and a plain-language line that the checker wrote from it: what the card can do and what it can never do. When you agree in chat, the agent saves it and starts a backtest at once.
3

Read the backtest

The report compares the card against simply holding, over the same days and with the same costs. Backtest and paper runs explains how to read it.
4

Approve and sign

You sign the checker’s line, the backtest and the limits, with your passkey session or your wallet. Signing freezes that version. Going live lists exactly what you sign.
5

Run it on paper, then live

Paper runs the card against live prices with simulated fills. A live run sends real transactions from your account.
6

Stop it when you want

Stop one card or all of them. Going live covers what stopping does and does not do.
Paper is optional and has no minimum length. You decide, card by card, when it goes live.

What a card can do

A card can wait for a condition, run on a clock, run once now, rest as an order at a price, or hold a share of its money in one token. It reads prices and data feeds through measures, and 2,625 feeds are available. What a card can watch and do lists each kind and what it can read. Cards run on Ethereum, Arbitrum and Base. A card can also trade on Hyperliquid, Lighter or Binance (Binance in demo only). A Binance card works differently: you arm it with its own limits instead of approving it like an on-chain card.

What a card cannot do

  • A card cannot name an address, a pool or a formula. It says my wallet, and the system chooses the pool and the route.
  • A card cannot send your money to anyone but you.
  • A card cannot widen itself. Any change, even one limit, is a new version that you approve again.
  • A card acts only on closed bars, so a price move inside the bar does not wake it. An order card rests at a price instead and acts between bars.
  • A backtest is history. It never promises a return.
A live card spends real money without asking each time. Your signature covers the card, its limits and its budget, not each trade. The card can still make a losing trade inside those limits. If you write no limit on how often it acts, nothing but the budget and a default of $1,000,000 per run holds it back. Write the limits you want into the card.

Cards and workflows

The chat writes cards for anything with a rule, a price or a repeat. Schedules, price triggers and chains that were built as workflows still run. Running it without you describes them.

Under the hood

This part is for readers who want the mechanism. A card compiles into a plan in a sandboxed runtime. Each rule becomes a set of conditions that the runtime checks on every closed bar, plus a template of the steps the account takes. The template’s amounts are placeholders. The host sizes them at the moment the rule fires, from the card’s own balance, and prices the swap again then. The checker also looks for rules that can never fire together, rules that could buy and sell the same token on one bar, and what each step’s failure leaves idle. It reports what it could not prove as “not proved”, never as safe. Card prices are checked against a second public price source when you save. A firing is one decision. It is written once, keyed by the card version, the rule and the bar, so a restart cannot fire the same bar twice. Each firing keeps the reason it fired, in the card’s own words and units.