Stablecoin Business Account
A stablecoin business account: hold, send, and invoice in USDC without ever touching crypto plumbing.

International bank payments are slow and expensive, and stablecoins, while fast and cheap, are hostile to ordinary businesses: seed phrases, gas fees, choosing the right blockchain network, and no invoicing or compliance layer. The product closes both sides of that gap. A business signs up with an email address, passes a compliance check, invoices a customer, and gets paid in USDC, without ever seeing a wallet extension, buying a gas token, or knowing which chain the money moved on.
Money also has to get in and out of the crypto world, so the platform provides real bank deposit details, IBAN, US ACH and wire, UK sort codes, Mexican CLABE, Brazilian PIX, through virtual accounts, plus local-currency payouts with live exchange-rate quotes and a card on-ramp.
The product spans a customer dashboard, a separate public payment app for invoice recipients, and a marketing site, organized as a Turborepo monorepo with shared UI, hooks, and utility packages so the unauthenticated payment surface stays lightweight while remaining visually consistent with the dashboard.
Stablecoin speed, without the crypto hostility
Cross-border B2B payments over traditional rails are slow and costly, but the crypto alternative asks a business to manage seed phrases, hold a second token just to pay transaction fees, and pick the correct network for every transfer, with no invoicing, no compliance onboarding, and no way for counterparties to pay by ordinary bank transfer.
The platform had to make the blockchain an implementation detail while treating fiat as a first-class citizen: real deposit rails in, local-currency payouts out, and a compliance gate in front of all money movement.

Make the blockchain invisible, gate everything behind compliance
Every user gets an embedded smart-contract wallet on Base, created automatically from their authenticated session, no seed phrase, no extension. Transactions are sponsored through a gas-manager policy, so users never hold a gas token. When sending to an external address, the system detects which network the address is active on and, via Circle's CCTP, routes USDC across chains automatically.
Fiat deposits arrive through virtual bank accounts provisioned via Bridge.xyz across five payment systems, and payouts convert USDC to local currency for saved bank recipients with live exchange-rate quotes. A card on-ramp widget covers direct purchases.
The product is gated behind compliance: a multi-step KYB wizard collects business, industry, and beneficial-owner information; individual identity is verified through Didit's embedded KYC flow; and applications are approved through a secret-protected decision endpoint driven from an internal review console. API routes check onboarding status server-side before allowing money movement, with status emails sent automatically at each stage.

A USDC balance that behaves like a bank account
The dashboard home shows the user's smart-account balance, portfolio value enriched with live prices, and recent transactions pulled from on-chain transfer history. Sending USDC is a guided flow, amount, recipient, review, that accepts a pasted wallet address with automatic network detection and validation, or a saved bank recipient for a fiat payout. Transfers execute as sponsored transactions, so recipients get USDC and senders never pay gas.
Invoicing closes the loop on getting paid. Users build invoices in a five-step modal, save drafts, and generate branded PDFs. Sending an invoice emails the customer a link to a hosted payment page on a separate public app, no login required, showing the invoice, the amount due in USDC, and payment instructions. The invoice API supports search, status filters, sorting, and pagination, with a stats endpoint powering summary tiles for unpaid, overdue, and paid totals.
Security runs through the whole product: Supabase authentication with server-side sessions, TOTP two-factor login, rate-limited auth attempts, session verification on every API route, and sanitized search inputs. Until KYB approval lands, money-movement APIs return a restricted response, a compliance gate enforced on the server, not in the UI.
Embedded gasless wallets
Each user gets a smart-contract wallet on Base derived from their authenticated session, no seed phrase or browser extension, with all transfers sponsored so no gas token is ever needed.
Cross-chain USDC sends
Pasted addresses are validated and network-detected automatically, and Circle CCTP routes USDC across Ethereum, Arbitrum, Avalanche, Base, Optimism, and Polygon so the user never chooses a chain.
Multi-rail bank deposits
Virtual bank accounts issue real deposit details per currency, IBAN/BIC, US routing and account numbers, UK sort codes, Mexican CLABE, and Brazilian PIX QR codes, so counterparties pay by ordinary bank transfer.
Local-currency payouts
USDC converts to local currency for saved bank recipients with live exchange-rate quotes, alongside a card on-ramp widget for funding.
Invoicing with hosted payment pages
A five-step invoice builder with drafts and branded PDFs; sending emails the customer a no-login hosted payment page on a separate public app.
KYB/KYC compliance pipeline
A multi-step business-verification wizard with Didit identity checks, external admin decisioning, automatic status emails, and server-side feature gating until approval.

- 01
Session-derived smart accounts
Wallet keys derive deterministically from the authenticated session via Alchemy Account Kit, so account creation requires nothing from the user and the same wallet is recovered on any device, combined with counterfactual addresses, users have a working on-chain account the moment they sign up.
- 02
Sponsored transactions via paymaster policy
All USDC sends run through a Gas Manager policy on Base mainnet, removing the single biggest UX blocker in crypto payments: needing a second token to pay fees.
- 03
A separate, unauthenticated pay app
Invoice recipients should not need accounts. Hosted payment pages live in their own Next.js app in the monorepo, keeping that surface minimal and safe while reusing shared UI packages.
- 04
Compliance operated externally
Money-movement APIs verify KYB approval server-side, and the approval workflow is delegated to an internal review console through a single secret-protected decision endpoint, keeping review tooling out of the product codebase.
- 05
Module-local schemas in a Turborepo monorepo
Each domain, bridge transfers, fiat, KYB, invoicing, carries its own types, services, SQL schema files, and documentation over Supabase Postgres, keeping a fast-moving multi-developer codebase navigable, with Vitest, Playwright, Storybook, and Biome in the toolchain.
- A business goes from email sign-up to compliant USDC payments, invoicing customers, receiving ordinary bank transfers, and paying out in local currency, with zero crypto knowledge required.
- The blockchain is fully abstracted: no seed phrases, no gas tokens, no network choices at any point in the product.
- Invoicing, hosted payment, multi-rail deposits, cross-chain transfers, and KYC/KYB onboarding are centralized in one product spanning a dashboard, a public payment app, and a marketing site.