Approval Workflows

When a transaction exceeds policy limits or an agent explicitly requests it, the transaction is queued for human review.

How It Works

  1. 1Agent calls requestApproval() or a policy triggers escalation
  2. 2Transaction is created with status pending
  3. 3You receive a notification (email + dashboard)
  4. 4Review the transaction on the Approvals page
  5. 5Approve → transaction is signed and broadcast on-chain
  6. 6Reject → transaction is marked rejected with your reason

Agent-Initiated Approvals

Agents can proactively request approval for transactions they know are unusual:

const result = await client.requestApproval({
  toAddress: '0x742d...2bD68',
  amount: '500.00',
  memo: 'Annual cloud compute contract',
  reason: 'Large one-time purchase — need human sign-off',
});
// result.status === "pending"
// result.message === "Approval request submitted. The wallet owner has been notified."

Dashboard Review

Pending transactions appear on the Approvals tab in your dashboard. Each shows the agent wallet, destination, amount, memo, and the agent's reason. You can approve with one click or reject with a reason.

Email Notifications

If email notifications are enabled in Settings, you'll receive an email when a transaction needs approval. Configure notification preferences at /dashboard/settings.