PENDING_APPROVAL state until an operator explicitly approves or denies it.
No value moves until a human says so.
How It Works
The approval is a gate, not a stamp. The task pipeline (compute, IPFS, fingerprint, settlement) does not execute until approved. No settlement is consumed until the action is released.
Configuring Thresholds
Set up approval thresholds in your operator guardrails:Resolving Approvals
Via Dashboard
Navigate to Approvals in the sidebar. Click into a pending request to see:- Action details (agent, type, amount, target)
- Why it was held (threshold trigger reason)
- Evidence artifacts from the SDK
- Approve or Deny buttons with optional notes
Via API
Resolve approvals programmatically using your API key — no browser required:Via SDK
Auto-Approve Rules
Configure rules that automatically resolve approvals without human intervention. Rules compose with AND logic — all rules must pass for auto-approval.Webhooks
When configured, AgentChain delivers dual-signed webhooks on approval lifecycle events. Every payload ships with two independent verification headers — pick the one that fits your stack.Using the SDK or middleware? You don’t need to verify webhooks manually. The
@agentchain/trigger-verify middleware and @agentchain/eliza-plugin handle all signature verification internally. This section is for operators consuming raw webhooks.Webhook Headers
Every webhook includes both verification signatures:Webhook Payload
Verifying Webhooks
When to use which
One-Shot Callbacks
Register a callback URL for a specific approval. When resolved, AgentChain POSTs the result to your URL once and deletes the registration.Trigger.dev integration: The
@agentchain/trigger-verify middleware uses one-shot callbacks with wait.forToken() to checkpoint Trigger tasks at zero compute cost during approval. See the SDK Reference for details.
