How do Base payments settle?
Each checkout gets its own deposit address on Base, created ahead of time. Once the buyer's payment reaches 10 confirmations, it is forwarded automatically to your EVM treasury wallet. Funds are never pooled in an InfraIO Pay balance.
Which tokens can I accept on Base?
USD Coin (USDC, ERC-20, 6 decimals). On EVM networks you can also list a verified ERC-20 of your own from the dashboard.
- USDC contract: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
What does it cost to accept payments on Base?
There is no setup fee, no monthly minimum and no charge on failed, expired or cancelled payments. A platform fee applies only when a payment settles, and it is recalculated automatically from your settled volume over the last 30 days: 0.5% under $50,000, 0.4% from $50,000 to $250,000, and 0.3% from $250,000.
For example, on a $1,000 payment the fee is $5 at 0.5%, $4 at 0.4%, $3 at 0.3%. Above the public floor, custom rates are available by contact.
How do I set it up?
- Create a merchant account. Sign up at app.infraio.xyz and verify your email.
- Connect a EVM treasury wallet. Add an EVM treasury wallet once; it covers every EVM network.
- Enable Base. Turn on Base in Settings → Networks so buyers can choose it.
- Share a payment link or open a checkout. Create a payment link in the dashboard or open a session with the SDK.
Open a hosted checkout; buyers choose Base there
import { loadInfraIo } from "@lartech/infraio-checkout-js";
// 1. On your server: POST /b2b/v1/checkout-sessions/quick (HMAC-signed with
// your secret key) returns { session_key, checkout_url }.
// 2. In the browser, open the hosted checkout with those two values:
const sdk = await loadInfraIo("pk_live_yourkeyhere");
sdk.checkout({
sessionId: session_key,
checkoutUrl: checkout_url,
mode: "popup", // or "redirect" / "embed"
onSuccess: () => showThanks(), // UX only: fulfil from the webhook
});