Tell it what you want in plain English — “buy $50 of Tesla, stop me out below $200.” Prime turns your words into real trades in tokenized stocks, executed inside your own wallet. It can never withdraw.
Buy, sell, buy the dip, dollar-cost-average, arm a stop-loss, check your holdings — just say it. The model turns your words into typed trades in tokenized stocks, executed in your own wallet. It picks the action and the numbers, never the calldata; a withdrawal has no tool and is refused.
8 tokenized equities, settled onchain, priced by an oracle. Every ticker is curated in the registry — add one there and agents can trade it and you can ask for it in plain English, instantly.
Not aspirations — real reverts, each naming the file and line you can open.
transfer and transferFrom are rejected during validation, to any destination — a bare ETH send too. The agent trades inside your account; nothing leaves it.
PolicyValidator.sol:465One transaction kills the delegation, re-checked in execution — so an op already in a bundle still dies. No bundler, no backend, nothing of ours in the path.
PolicyValidator.sol:416Every trade is priced by a Chainlink oracle and capped per-trade and per rolling 24h in USD, on top of the whitelists you signed. A keeper cannot exceed the plan.
PolicyValidator.sol:512ERC-7562 rules forbid a validator from reading foreign storage or writing state during validation. But USD caps need an oracle read, and rolling-day accounting needs a state write.
So PolicyValidator is both a validator and an executor. The userOp calls the validator, which pins the call shape in validation, then runs the priced, state-writing checks in execution.
account.execute(policyValidator, 0, executeTrade(delegationId, calls))// the agent never calls a venue directlyEach ships with its own on-chain proof — and one unified agent runs all your standing rules (stops, dip buys, schedules) together, from a single durable store.
Stop-loss and take-profit. Fires an exit the instant a threshold is crossed; a fired stop survives restarts and never double-sells.
@prime/guardian · 28 testsRecurring buys paced by chain time — no wall-clock drift, no catch-up burst after downtime, skips a cycle it can't afford.
@prime/dca · 20 testsA weighted multi-asset basket in a single userOp: one approval, N swaps, all settle together or none do.
@prime/baskets · 11 testsRanked by realized P&L — not a number we type. Empty until the first agent trades; nothing here is simulated.
NEXT_PUBLIC_INDEXER_URL to fill this from live data.Run through a real alto bundler in safe mode, the validator is rule-clean.
banned opcodes (OP-011) : NONE storage writes : { account: 0, validator: 0 } CREATE / CREATE2 : false
Spin up a local chain, deploy, and walk the full flow — register, bond, delegate, fire a stop-loss, revoke.