Agents declare via SDK. Humans and agents share one owner history, shown in the app. Submit is a signature. The coordinator relays submitFor.
await agent.declare("put 5,000 USDT into NVDA and AAPL, 60/40, only attested assets", {
relayUrl: "https://tryintentos.xyz/api/relay"
});
await agent.track(intentId);
const past = await agent.history();
| Method | Path | Job |
|---|---|---|
| GET | /api/health | Live flag, operators |
| GET | /api/deployment | Contracts, tokens, assets |
| POST | /api/parse | Sentence → draft + hashes |
| POST | /api/declare | Agent parse → draft + submitFor typed data |
| POST | /api/relay | Gasless submitFor + permit |
| POST | /api/bid | Solvers bid |
| POST | /api/close | Select winner |
| POST | /api/settle | Reveal and fill |
| GET | /api/recent | Latest intents (network) |
| GET | /api/history?owner= | Intent history for an owner (used by the app sidebar) |
| GET/POST | /api/health?kind= | health, plus observations, recurring, session, challenge |
Session keys: authorize the coordinator to sign Submit until expiry. ERC-1271 smart accounts can be the owner. Full ERC-4337 bundler is not live. Recurring jobs re-declare from the prompt when due. Observations gate volume/vol/funding conditions. Challenge is a wallet call on the intent page.
connectWallet mintTestUsdt submitDraft submitIntentGasless agent.history
OutcomeMismatch: reveal did not hash to what was committed.
Unknown ticker: catalog has no such asset; it never becomes a transaction.
Wallet reject: typed-data or tx declined in OKX Wallet.
0 OKB fallback: relay failed and the connected wallet cannot pay gas.