Pricing
Coal is a payment rail. We charge a percentage of every settled payment on Base. Funds never enter a Coal-controlled wallet at any point. The percentage is taken on-chain via an immutable 0xSplits contract that ships per merchant.
Three tiers
Free (Open Beta)
Coal fee: 0% on every settled payment.
Active right now. Every merchant who signs up during open beta is on this tier by default. When public beta ends, the Coal tier turns on and we give every Free merchant at least 14 days written notice before any fee applies to their account.
If you sign up today, you stay at 0% until then.
Coal (Standard)
Coal fee: 5% per settled payment.
Applies to all payments, both human checkouts and agent-paid API calls. The fee is enforced by a per-merchant immutable split contract on Base. 95% routes directly to your wallet, 5% routes to the Coal fee recipient. Neither party can change the split after deployment, including us.
Coal Design Partner
Coal fee: 0% indefinitely.
For the first 10 merchants who help shape the product. Locked at 0% even after public beta ends. By invitation only. If you have an existing API with real agent traffic and want to be one of them, email emmanuel@schemalabs.xyz.
Currently filled: 1 of 10.
Recommended minimum paywall price
$0.05 per call.
At the standard 5% fee, a $0.05 call earns Coal $0.0025 in revenue. Settlement gas on Base is roughly $0.003 per payment. Below $0.05, every call costs more in gas than the fee covers, and the operator wallet ends up subsidizing the difference. Until batched settlements ship, the $0.05 floor keeps the unit economics sane.
You can price above $0.05 freely. Sub-cent pricing is on the roadmap once we ship batching.
What you do not pay for
| Signup | $0 |
| Per-merchant split contract deployment | $0 (Coal pays the gas) |
| Console access | $0 |
| API calls to Coal endpoints | $0 |
| Monthly subscription | $0 |
| Webhook deliveries | $0 |
Receipt verification at /verify/[id] | $0 |
The only money that moves is the per-settled-payment percentage on the Coal tier, taken on-chain.
How payouts reach you
Funds land in your wallet on Base in USDC, within seconds of an agent paying. Coal never touches the funds. The split contract enforces the routing at the EVM level.
If you want fiat in a bank account, you connect your Base wallet to your off-ramp of choice (Coinbase, Bridge, Transak, regional providers for SEA) and convert from there. Coal does not provide an on/off ramp.
How fees change
If we ever change the standard fee after a merchant has signed up on the Coal tier:
- 14 days written notice via email.
- The change applies only to future payments. Historical payments stay at the rate that was in effect when they settled.
- Your existing split contract is immutable, so a fee change means a new split contract is deployed for new payments. Old contract still receives and distributes any pending balances unchanged.
Comparison
| Platform | Take rate | Custody | KYC required |
|---|---|---|---|
| Stripe | 2.9% + $0.30 | Custodial | Yes (merchant + payer) |
| RapidAPI | ~20% | Custodial | Yes |
| Coal | 5% (0% for design partners) | Non-custodial | No (merchant supplies own wallet) |
Questions
Does the fee apply to human checkout payments too?
Yes. The percentage applies to every settled payment regardless of payer type. Same split contract handles both flows.
What if I want a custom contract or split structure?
Custom contracts are on the roadmap. Right now every merchant gets the same 0xSplits PushSplit deployment with a 95/5 allocation.
Can I see the split contract before agents start paying me?
Yes. The contract address shows up in your console under Settings as soon as it's deployed, before any payment lands. You can read it from chain via the standard ERC interfaces.
What if Coal disappears?
The split contract is owned by 0x0 and operates independently of Coal's servers. Even if Coal shuts down, you call distribute() on the contract from any Ethereum client and the USDC routes to your address per the immutable allocation. No funds are at Coal's discretion.
