Acting on-chain
Three ways in, one wallet, one policy — the difference is only who started it.
A presence acts the same way no matter how the action begins: it prepares it, the policy checks it, it executes or pauses, and it records what it did in memory. Only the trigger differs.
The three triggers
| Trigger | Looks like | Feels like |
|---|---|---|
| conversational | you ask in chat | “swap 0.1 ETH to USDC.” It does it with you watching, narrating each step. |
| programmatic | API / CLI intent | POST /v1/wallet/intent from your code — same policy, machine-driven. |
| autonomous | standing intent | It decides, unprompted, in its space. Speaks up only per policy. |
Conversational
The most direct: you say what you want in plain language. The presence resolves it through the chain skill (route, slippage, current price), states the plan, and acts — pausing if it crosses confirm_over.
you · move 50 USDC to my safe presence · 50 USDC → 0xYourSafe… (allowlisted, under caps) — sending · done · 0x3b…d9
Programmatic
For your own software. You describe intent, not calldata — the presence still resolves and still obeys the policy. It is not a signing API; it is the presence, reached by code.
POST /v1/wallet/intent { "do": "swap 0.1 ETH to USDC, max 0.4% slippage" } # → { status: "done", tx: "0x…", # block: 19402150 } # or { status: "needs_confirm", # confirm_id: "cf_…" }
A needs_confirm result is resolved by you, not by retrying — listen on events and approve.
Autonomous
The presence acts on a standing intent with no trigger from you at all. This is where the policy earns its keep: unattended actions are exactly the ones you want capped, allowlisted, and confirmation-gated above a threshold.
Whatever the trigger, the presence cannot exceed the policy and records every action to memory keyed by what it was for — so "what did you do overnight?" has a real answer.
Receipts
Every executed action returns a tx hash and block, is emitted on the events stream, and is written to memory under a keyword for the goal it served. Reconstructing what a presence did is reading its history, not trusting its summary.
