USE CASE · Treasury & payroll

Move USDC, settle invoices,
run global payroll — agentically.

Treasury agents sweep USDC across chains, pay vendors on the cheapest rail, and run global payroll on Pix, SEPA Instant, FedNow, UPI and 5 more. Multi-sig on anything above six figures. Cryptographic principal signatures on every transfer.

$50k/d
default cap
2-of-3
multi-sig
9
rails
208
countries
The problem

Why the corporate card
doesn't work for this agent.

Manual payroll = expensive

Bank wires for 80 contractors in 22 countries. $30 per send, 3-day settle. The CFO is paying $30k/year in wire fees alone, plus 1–2% FX spread on every leg.

USDC is split across chains

Treasury sits on Base, Polygon, Solana, Ethereum mainnet. Bridges, gas, slippage. No single dashboard. Reconciling end-of-quarter takes a week of finance time.

No attribution on outflows

Who authorized the $42k vendor invoice? Today: a Slack screenshot and a forwarded email. Tomorrow: a court subpoena, a SOC 2 finding, or an audit qualification you can't get past.

What the wallet ships with

Everything this agent needs.
Nothing it doesn't.

Local-rail payroll
Pix (Brazil), UPI (India), SEPA Instant (EU), FedNow (US), BACS (UK), PayNow (Singapore), PromptPay (Thailand), Interac e-Transfer (Canada). Pay every contractor on their fastest local rail. Settles in seconds, no FX surprise.
Multi-sig over threshold
Spend over $50k requires 2-of-3 human signatures. Spend over $250k requires 3-of-3 plus a Slack ping to the board. Thresholds are policy, not code — change them without a redeploy.
Cross-chain USDC sweep
Auto-rebalance USDC across Base, Polygon, Solana to keep the agent's working balance topped. Bridge fees logged on the trace; if a Wormhole hop costs more than 12bps, the agent re-quotes against CCTP.
Cryptographic audit
Every outflow signed by the principal's WebAuthn key. Replayable end-to-end. Same trace ID across the bank wire, the USDC tx, and the card refund — so reconciliation is a SQL join, not a forensic project.
Invoice OCR + match
Agent ingests a PDF invoice, extracts line items, matches to a PO, checks the vendor against your allowlist, and proposes the cheapest rail. You approve once; it executes.
FX guardrails
Refuse any payment whose mid-market FX moves more than 50bps from the quote, or that touches a banned counterparty list (OFAC, EU consolidated). Every quote is captured into the ledger row.
Real-time balance API
GET /accounts/mine/balances returns fiat per currency, USDC per chain, and reserved-but-not-settled across rails. The agent reads it before every send to avoid overdrafts.
Quarter-close export
One-click CSV/JSON export grouped by GL code, vendor, rail, currency. Drops straight into NetSuite, QuickBooks, or Xero. Auditor opens it and signs off in hours, not weeks.
A day in the life

From mandate to settlement.

01
01 · Mandate

CFO signs

CFO signs an IntentMandate authorizing the treasury agent for $5M/quarter, scoped to vendor + payroll categories. Mandate sealed with WebAuthn; bound to a specific agent DID.

02
02 · Sweep

Daily reconcile

Agent sweeps USDC across chains, settles vendor invoices on the cheapest rail per recipient. Every settlement writes one canonical ledger row with a trace ID and a signed PaymentMandate.

03
03 · Approve

Multi-sig threshold

$120k vendor invoice triggers a 2-of-3 sign — CEO + CFO + Controller. WhatsApp tap-to-approve, signed PaymentMandate, full audit chain. Signatures are recorded on the same ledger row.

04
04 · Audit

One trace, one row

Whether ACH, SEPA, USDC or wire — the same trace ID lands in the ledger. Auditor exports a CSV; reconciles in minutes, not weeks. Re-verifies any signature against the principal's public JWKS.

Vendors typically allowlisted

Plug-and-play merchant lists.

Curated merchant allowlists ship with the wallet template. Add your own in one API call or one click in the portal.

DeelRemoteRipplingGustoAWSSnowflakeDatadogSalesforceNotionZoomSlack1PasswordLinearAtlassianCloudflareVercelOpenAIAnthropic
Recommended starter policy

Defaults you can flex.

Daily cap$50,000
Monthly cap$1,000,000
Per-payee max$25,000
Multi-sig ≥$50,000 (2-of-3)
Quorum sig ≥$250,000 (3-of-3)
Cross-chain sweepBase · Polygon · Solana
FX drift refuse ≥50 bps from quote
Allowed railsACH · SEPA · Pix · UPI · USDC
In depth

Everything else you need to know.

Why a treasury agent needs more than a corporate card.

Corporate cards solve one part of treasury — small recurring software charges — and break on everything else. Bank wires for international payroll cost $25–$45 per send and settle in three days. SWIFT correspondents take an unpredictable FX cut. ACH is only US-domestic and capped at $25k for most banks. And none of these rails carry a signed authorization the auditor can verify cryptographically; you're trusting an email chain.

A treasury agent on AgentWallet routes each payment to the cheapest local rail with a hard FX guardrail, signs every outflow with the principal's WebAuthn key, and writes a single canonical ledger row that's exportable for SOC 2 evidence collection. If an outflow is over the daily cap, the agent stops and posts an approval card to your existing Slack workspace — the human signs once on their phone, and the agent finishes the wire.

The result is that the CFO stops being the bottleneck on every $40k vendor invoice, contractors get paid in 8 seconds instead of 3 business days, and the quarter-close audit becomes a SQL query against a tamper-evident ledger instead of a week of forensic accounting. Most teams cut their wire fees by 80–90% in the first month, because Pix/UPI/SEPA Instant cost cents and settle instantly versus $30 wires that don't.

Multi-sig that actually works for finance teams.

Multi-sig on most platforms means custom Solidity, a hardware wallet ceremony, and a Gnosis Safe nobody understands. On AgentWallet, multi-sig is a policy field on the agent: ≥ $50k requires 2-of-3, ≥ $250k requires 3-of-3 plus a board ping. The signatures are WebAuthn, so they live on each signer's phone or YubiKey — no seed phrases, no airdropped tx hashes to compare in Telegram.

When the agent proposes a payment that crosses a threshold, it generates a PaymentMandate, hashes it, and pushes an approval card to each signer over WhatsApp, Slack, or email. Each signer taps approve; their device produces a signed assertion that's bound to the mandate hash. The agent waits until the quorum is met, then executes — and if any signer refuses, the mandate dies and is logged with the rejection reason.

Cross-chain USDC sweep without the bridge headache.

Most treasury teams holding USDC end up with stranded balances: $200k on Polygon because of one DeFi position last year, $80k on Solana from a Coinbase deposit, working capital on Base. The treasury agent reconciles this once a day. It computes the cheapest rebalance path — usually Circle's CCTP for chains it covers, Wormhole or Across as fallback — and executes only if the total cost is under your configured cap (default 12 bps).

Every hop is logged with the rail, the fee, the slippage, and the resulting chain balance. If a CCTP attestation takes more than 15 minutes (sometimes it does on Polygon → Base), the agent flags the transfer as inflight and won't double-spend. The on-chain trace is anchored to a Base contract once per day for tamper evidence, so anyone — including your auditor — can verify the historical balance without trusting your database.

How this fits with NetSuite, QuickBooks and your existing GL.

AgentWallet is a payment + ledger system; it is not an ERP. Treasury teams using NetSuite, QuickBooks, Xero, or Sage feed the AgentWallet ledger export into their GL nightly. The export is grouped by your GL code (set per agent or per allowlist entry), so vendor invoices land on the right expense account without manual coding.

Webhook delivery is signed (HMAC-SHA256 over the canonical body), so a fake invoice can't trick the GL ingestion. The webhook payload includes the trace ID, the signed mandate hash, and the rail-specific receipt (ACH file ID, SEPA Instant settlement reference, USDC tx hash, card auth code) so reconciliation against bank statements is fully automated.

FAQ

Common questions.

Is the treasury agent allowed to send money without a human?
Only within the policy you set. The default starter policy is $25k per payee, $50k per day, $1M per month — anything over those thresholds requires 2-of-3 or 3-of-3 human signatures. The signatures are WebAuthn-bound, captured on the same ledger row as the outflow.
Which rails are supported for payroll?
ACH (US), Wire (US/intl), SEPA Instant (EU), Pix (Brazil), UPI (India), FedNow (US), BACS (UK), Interac e-Transfer (Canada), PayNow (Singapore), PromptPay (Thailand), and USDC on Base, Polygon, Solana. The agent picks the cheapest rail that meets the recipient's preference and the local regulatory floor.
How does multi-sig actually work when my CEO is offline?
Approvals expire after a configurable window (default 24h). If quorum isn't reached, the payment is voided and re-queued. The agent can be configured to fall back to a delegate signer (e.g. controller + CFO instead of CEO + CFO + controller) after a configurable timeout, but that fallback path is itself policy and recorded on the ledger.
What happens to the audit trail if I rotate the principal's WebAuthn key?
Historical signatures stay verifiable forever — the public JWKS for the previous key version is retained and served at /.well-known/jwks.json keyed by `kid`. Rotation creates a new key version; existing mandates continue to verify against the version they were signed under.
Does this work for non-US entities?
Yes. AgentWallet supports treasury operations from US, EU (Ireland), UK, Brazil, India, Singapore, and Canada as the originating entity. Outbound rails reach 208 countries via the underlying payout network. The KYB you complete at signup determines which originating jurisdictions you're enabled for.
Can I export the ledger for SOC 2 or PCI evidence collection?
Yes. Every outflow ledger row is exportable as CSV or JSON, includes the signed mandate hash, the rail-specific settlement reference, and the signer DIDs. The export endpoint is GET /api/ledger/export?from=…&to=…&format=csv and is rate-limited but otherwise unconstrained for paying customers.

Ship this agent today.

Provision a wallet, attach a verified principal, set caps, plug into your LLM via MCP. Live in under a minute.