Skip to main content
Money in the company balance is never locked in. A company admin can withdraw the available balance (what isn’t committed to in-flight card fundings) any time:
  • Bank — the default. Save your company bank account once (US ACH, or an international wire with IBAN + SWIFT) and request the transfer. Our team executes it by hand, usually within 1-3 business days; the balance is held while the request is open and every admin is emailed as it progresses (requested → processing → completed).
  • Other methods — two self-serve rails that complete in minutes:
    • Bank via Coinbase — a hosted Coinbase cashout. You confirm the sale with your own Coinbase account (bank linked there); Agentcard sends the USDC the moment you confirm, and Coinbase pays your bank by ACH. Coinbase’s sell fee applies; Agentcard adds none.
    • Crypto address — USDC on Base, sent straight from the pool to an address you provide. No intermediary and no extra account; this is the mirror of funding the pool by USDC deposit.
Withdrawals are admin-only, require an active subscription (the same one that unlocks the live pool), and the self-serve rails re-verify the admin’s phone with a one-time code when the last verification is older than 60 days — the same check funding uses. Every withdrawal emails all company owners and admins. There is a $10,000 rolling 24-hour limit per company; contact us if you need more.

From the dashboard

Company balance → Withdraw. One dialog, a rail picker at the top: Bank (pick or add a saved company account, enter the amount) or Other methods (Coinbase cashout or a crypto address). Coinbase withdrawals open a tab where you confirm the cashout — keep the dashboard open; it tracks the withdrawal to completion by itself. In-flight withdrawals show on the Company balance page with their status, and the movement feed shows every withdrawal alongside deposits and card spend. Test mode has the same button against the test balance: no real money, no confirmations, instant.

From the CLI

The self-serve rails are scriptable from the agent-cards CLI:

From the API

Programmatic withdrawals use your company credentials (a client-credentials token) and cover the self-serve rails: the crypto rail completes in one call; the Coinbase rail returns an offramp_url a human must open to confirm. (The manual bank rail is dashboard-only for now — it exists for the humans wiring money, not for automation.)
GET /api/v1/wallet/withdrawals lists them (newest first, starting_after pagination), GET /api/v1/wallet/withdrawals/{id} polls one, and POST /api/v1/wallet/withdrawals/{id}/cancel abandons one that hasn’t sent yet. Test credentials withdraw from the mock pool — the inverse of test-fund. A self-serve withdrawal moves through created → sending → sent → completed; the Coinbase rail adds awaiting_provider (waiting for your confirmation) before the send and can end expired if nobody confirms within the window. failed with a tx_hash on the Coinbase rail means the transfer left the pool but missed Coinbase’s settlement window — the USDC is in the confirming user’s own Coinbase account, not lost. Manual bank withdrawals move through requested → processing → completed (or rejected, which releases the hold).

Your users’ withdrawals

Your users can move money out too — their own spendable balance, not the company pool. From your app, use the Withdrawals API: save a bank destination per user, request withdrawals, and poll the list to reflect statuses in your UI. Users connected over MCP get the same via the withdraw and create_withdrawal_recipient tools, and the personal dashboard has a Withdraw button with the same rails. Two things to know:
  • Only what a user can actually spend is withdrawable. Money you allocate to users under the company-funded flow is yours, not theirs — it never leaves through a user withdrawal.
  • You can switch user withdrawals off for your whole organization from the dashboard — Settings → General → User withdrawals (admins and owners). While off, the user endpoints return withdrawals_disabled. It never affects withdrawals from your own company balance.

Events

What about earnings?

Withdrawals draw on the balance you hold. Earnings you’re owed accrue separately and land in your balance as monthly payouts — once a payout lands, it’s withdrawable like any other deposit.