Why agents need an offramp
AI agents earn crypto. Their operators need fiat. The tools to bridge that gap don’t exist yet.
AI agents are earning real money. Trading bots run arbitrage strategies 24/7 and accumulate profits in USDC. x402-enabled APIs charge micropayments per request - 150,000 transactions processed in a single day on that protocol alone. MCP servers monetize tool calls. Prediction market agents place bets and collect winnings. DeFi agents harvest yield across lending protocols.
The agent economy isn’t theoretical anymore. It’s live, it’s growing, and it runs on stablecoins.
But here’s the problem: the operators behind these agents pay rent in fiat.
The gap
Every agent developer eventually hits the same wall. Their agent has earned $14,000 in USDC across three wallets. The money is sitting on-chain. Now they need it in a bank account.
Today, that means: log into Coinbase, deposit the USDC, wait for it to land, sell it for EUR, initiate a withdrawal, wait 1-3 business days, and hope nothing gets flagged. Do this for each wallet. Do this every week.
This is fine if you have one wallet and you do it once a month. It falls apart completely when you have 10 agents, each with their own wallet, earning different amounts on different schedules. There’s no way to say “when this wallet crosses $5,000, automatically convert to fiat and wire it to my bank.” There’s no API for it. There’s no CLI command. There’s no automation.
The tools that exist were built for humans manually trading crypto. They were not built for software that earns crypto and needs to programmatically move it into the traditional financial system.
What we built
Veil is a one-way crypto-to-fiat offramp API. It does one thing: convert stablecoins to fiat and deposit it in your bank account.
Create a wallet, get a deposit address, set a rule, and forget about it:
from veil import Veil # Reads API key from OS keychain (set via veil login) client = Veil() # Create a wallet for your agent wallet = client.wallets.create(name="trading-bot", chain="base") # Set an auto-offramp rule client.rules.create( wallet_id=wallet.id, trigger="balance.USDC > 10000", action="offramp", params={"destination": "iban_primary", "currency": "EUR"} ) # That's it. Your bot earns USDC → balance crosses $10K → # Veil converts to EUR and wires to your bank.
Three API calls. Your agent earns, Veil offramps. You check your bank account.
Or if you prefer the terminal:
$ veil wallet create --name trading-bot --chain base $ veil rules add --wallet trading-bot --trigger "balance.USDC > 10000" --action offramp $ veil logs --tail # 08:00:01 RULE Daily check: trading-bot · $12,400 > $10,000 ✓ # 08:00:02 SYSTEM Auto-offramp triggered: $10,000 → IBAN # 10:14:33 SYSTEM Settled: €9,247.50 → DE89 3704 ****
How it works under the hood
Veil doesn’t custody your crypto. It doesn’t operate as an exchange. It’s a software orchestration layer that coordinates between licensed providers:
Your agent sends USDC to its Veil deposit address. Veil forwards the funds to a licensed conversion partner who handles the actual crypto-to-fiat exchange. The partner settles the fiat to your bank account via SEPA or SWIFT. Your bank sees a standard wire transfer from a licensed European payment institution - no mention of crypto anywhere.
Each deposit gets a unique ephemeral address. Addresses are never reused. On-chain, your transactions are unlinkable. Off-chain, your bank sees a normal wire.
Who this is for
If you’re building agents that earn cryptocurrency - trading bots, x402 APIs, MCP tool providers, DeFi yield harvesters, prediction market agents - and you need that money in a bank account without manually trading on an exchange every week, Veil exists for you.
If you’re a developer running a platform where users earn crypto and need cash-out functionality, Veil’s API lets you offer offramp as a feature in your product with three API calls.
If you’re an individual holding stablecoins and you want the simplest possible way to get them into your bank account without signing up for an exchange, Veil does that too.
Private beta
We’re opening Veil to early developers and agent builders today. The API, CLI, SDK, dashboard, and sandbox are all live.
It’s 1% per offramp. No monthly minimums, no wallet creation fees, no hidden charges.
We support USDC and USDT on Ethereum, Base, Arbitrum, Polygon, and Solana. Fiat out in EUR, USD, AED, and GBP via SEPA and SWIFT.
If you’re building something where this matters, we’d love to hear from you.