Skip to main content
Initiate a payment inside the agent vault envelope. Amounts over the step-up threshold return a pending_step_up response with a URL the user must visit. All on-chain broadcast happens asynchronously via Inngest with a CAS-claim to prevent double-send (PLAN.md F2). on_chain_tx fields on the resulting receipt are server-fetched from RPC, never trusted from the facilitator (PLAN.md F1).

Metadata

Annotations

Input schema

Output schema

Auth

Caller’s grant must include the payments:initiate scope. Grants whose scope set is a superset of the required scope are accepted.

Request examples

Response examples

Success — payment accepted and queued for broadcast:
Step-up required (amount exceeds step_up_amount_cents in the envelope):
Policy denied — daily cap exceeded:

Errors

Step-up flow

When the amount exceeds the step_up_amount_cents threshold in the policy envelope, the server returns a -32003 error with data.step_up_url and data.reason_id: "step_up_required". The payment row is already written in pending state — you do not need to resend the full payload.
TypeScript
See Step-up protocol for the full protocol-level reference including sigil expiry, retry semantics, and the redirect URI registration flow.