> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axon402.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Treasury & Governance Tools

> MCP tools for treasury management and emergency controls

This page covers both runtime and operator tools that touch budget, treasury, or post-spend governance. Surface labels matter.

* Runtime tools: wallet-scoped worker flows
* Operator tools: trusted control-plane automation

## fund\_pocket

**Surface:** operator

Transfers USDC from a vault wallet to an agent pocket wallet. This is a privileged action.

> [!WARNING]
>
> On the operator/manage MCP surface, `fund_pocket` requires an org-scoped credential with a resolved organization context. A bare static operator key with no org binding is rejected by the tool handler.

### Input

| Field | Type | Description |
| :- | :- | :- |
| `wallet_id` | string | Canonical destination pocket wallet ID |
| `amount_usdc` | number | Amount to transfer |
| `network` | string | CAIP-2 network ID (default `eip155:8453`) |
| `memo` | string | Transfer memo |
| `idempotency_key` | string | Optional 8-128 char idempotency key |

Legacy callers may still send `pocket_wallet_id`; `wallet_id` is the canonical public field.

> [!NOTE]
>
> When `AXON_TREASURY_GASLESS_ENABLED=true`, AXON sponsors gas through the relayer. If disabled, the source wallet needs ETH for gas.

## request\_budget\_increase

**Surface:** runtime

Escalates a budget increase request to a human operator. Use when the agent needs more budget than the current mandate allows.

### Input

| Field | Type | Description |
| :- | :- | :- |
| `requested_amount` | number | Requested USDC amount |
| `justification` | string | Human-readable reason |
| `urgency` | string | `low`, `medium`, or `high` |

### Output

Returns `request_id`, `status`, and `new_daily_limit` (currently `null` until approved).

## emergency\_stop

**Surface:** operator

Immediately freezes a wallet, department, or entire organization.

> [!WARNING]
>
> Like `fund_pocket`, this tool requires an org-scoped credential on the operator/manage MCP surface. Static operator keys with no org binding are rejected.

### Input

| Field | Type | Description |
| :- | :- | :- |
| `scope` | string | `pocket`, `department`, or `organization` |
| `target_id` | string (uuid) | ID of the target to freeze |
| `reason` | string | Reason for the freeze |

### Example

```json theme={null}
{
  "scope": "pocket",
  "target_id": "<wallet_id>",
  "reason": "Operator freeze: anomalous spending pattern detected"
}
```

## report\_outcome

**Surface:** runtime

Reports whether a paid result was fulfilled, used for provider trust scoring and forensics.

### Input

| Field | Type | Description |
| :- | :- | :- |
| `decision_id` | string | Preferred identifier from `governed_fetch` |
| `spend_request_id` | string | Legacy alias if `decision_id` is unavailable |
| `outcome_status` | string | `fulfilled`, `partial`, `unfulfilled`, `not_applicable` |
| `outcome_summary` | string | Optional context |

### Output

Returns `spend_request_id`, `outcome_status`, `outcome_summary`, `outcome_reported_at`, and sometimes `provider_risk_adjusted` when the provider-trust feedback loop changes registry risk.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.