Autonomous transactions let an agent execute on-chain MCP tool results (transfers, swaps, identity registration txs) without manual confirmation when your integrator is configured to sign. Use this when you trust the agent’s interaction policies and want external MCP clients (Cursor, Claude, CLI) to queue transactions for your backend instead of returning unsigned payloads only.
Enabling autonomous transactions increases risk. Combine with strict interaction policies, monitoring, and webhook signing secrets. Operators see an Autonomous indicator in the dashboard All agents table.

Two execution paths

When autonomous is OFF and the caller is external, Kit returns unsigned_transaction_ready only — same as before.

Enable per agent

Dashboard (sample app)

In the sample web app (Agents → Configuration), toggle Autonomous transactions. The Abstraxn developer dashboard (Agentic Stack → All agents) shows an Autonomous column and warning in the agent detail panel when enabled.

SDK / API

REST equivalent: PATCH /agents/:agentId/autonomous-tx Config is stored in agent.metadata.autonomousTx on Agent Kit.

Integrator execution loop (delegated)

Any backend that holds the agent accessKey can execute queued transactions. You need two pieces: (1) register where Kit should send events, and (2) run a receiver that verifies signatures and signs txs.

Register the webhook (where Kit sends events)

Not configured inside agent-app-service. Registration creates a row in Agent Kit’s webhook_subscriptions table.

Receive webhooks (sample app: agent-app-service)

The sample backend does not register webhooks — it only listens:
Kit POSTs signed JSON when a pending transaction is created or updated. Retries up to 3 times (0s, 2s, 8s) until your endpoint returns HTTP 2xx.

On transaction.created — claim, sign, broadcast

Poll fallback

If webhooks are unreachable, poll GET /agents/:agentId/transactions/pending?status=pending. The sample app does this every KIT_PENDING_TX_POLL_INTERVAL_MS (default 30s).

Webhook verification

Kit sends:
  • X-Agent-Kit-Event
  • X-Agent-Kit-Timestamp
  • X-Agent-Kit-Signature: sha256=<hmac>
Signature: HMAC-SHA256(secret, timestamp + "." + rawBody)

MCP headers

In-app chat should always send managed. Cursor / Claude MCP clients default to delegated.

Transaction creation response

When autonomous is enabled and the caller is delegated, MCP returns:
Your integrator should treat warnings as operator-facing risk signals.

On-chain tools covered

All MCP tools that produce signable transactions:
  • transfer
  • uniswap_swap_quote, lifi_swap_quote, jupiter_swap_quote, oneinch_swap_quote, evm_swap_quote
  • ERC-8004 identity prepare flows (REST)
Read-only tools are unchanged.

Checks and limits

Sample app wiring

The sample backend (agent-app-service):
  • Proxies GET/PATCH /agents/:id/autonomous-tx
  • Sends managed on chat MCP calls
  • Polls Kit pending txs (KIT_PENDING_TX_POLL_INTERVAL_MS)
  • Exposes POST /kit-webhooks/transactions to receive Kit webhooks (registration is via dashboard or POST /webhooks on Kit — not in agent-app env)
Delegated executions appear in the sample app Activities view with an Autonomous tag, status, and receipt when TRANSFER_WAIT_FOR_RECEIPT=true.