register_intent
Declare an intent BEFORE broadcasting. Returns {intent_id, pairing_code}. Append the 16-hex pairing_code as the last 8 bytes of calldata (no magic prefix), then broadcast — EXCEPT bare ETH transfers to contracts (empty data + value>0): appending reverts on Safe/fallback handlers; register without a suffix and use expected.steps for multi-leg flows (e.g. approve+supply). Pairing codes are single-use and only consumed by successful (non-reverted) txs. Use deadline_minutes (relative) — normalized to absolute constraints.deadline at registration.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | Structured shape. Use steps: ['approve','other'] (or similar) so one intent covers approve+supply/swap companions. | |
| agent_key | Yes | ||
| declared_at | No | ||
| description | Yes | ||
| deadline_minutes | No | Relative window; stored as absolute constraints.deadline |