coal
coal

Settlement Token Compatibility

This page documents settlement-token compatibility and the legacy MNEE_* aliases that Coal still accepts. Coal now describes settlement generically: USDC is the default fallback, and you can configure another Base token when needed.

Key Properties

PropertyValue
Default assetUSDC on Base
Custom asset supportAny Base ERC-20 you explicitly configure
DecimalsDefaults to 6, but configurable
NetworkBase
Selection modelGlobal settlement token per environment
CompatibilityLegacy MNEE_* env vars still supported

Default Behavior

  • If you do nothing, Coal uses USDC.
  • If you configure a custom settlement token address, Coal uses that token instead.
  • Most docs should describe the settlement asset generically unless the page is specifically about token compatibility.
Custom token on BaseETHUSDC
Settlement time~2 seconds~12 seconds~2 seconds
Transfer fee< $0.01Variable (gas)< $0.01
Price volatilityNone (stable)HighNone
Configuration complexityHigherN/ALowest

How Coal Uses the Configured Settlement Token

When a customer pays via Coal:

  1. Customer sends the configured settlement token from their wallet to the merchant's payout address on Base
  2. Coal verifies the transfer on-chain (checks amount, recipient, Transfer event)
  3. Merchant receives funds in their payout wallet, no intermediary

Coal is non-custodial — we never hold your funds.

Setting Your Payout Address

Your payout address is the Base-compatible wallet address where you want to receive payments. Set it in Console → Settings.

Double-check your address

Payments are irreversible. Verify your payout address before going live — if you enter the wrong address, Coal cannot recover the funds.

Compatible wallets: MetaMask, Coinbase Wallet, Rainbow, any wallet supporting Base (EVM-compatible).

Token Contract

The currently configured settlement token contract on Base:

text
10x... (Base mainnet — see usecoal.xyz for current address)

You can verify any transaction on Basescan by searching the contract address.

Amount Formatting

Settlement amounts in Coal's API are strings to avoid floating-point precision errors:

json
1{ "amount": "49.99" } // ✓ String — precise
2{ "amount": 49.99 } // ✓ Also accepted for input

Always store and compare amounts as strings or integers in the smallest unit. Coal's backend uses BigInt arithmetic internally.

Choosing a Settlement Token

Use USDC if you want the cleanest default setup. Use a custom token only when you intentionally need a different settlement asset for product, treasury, or partner reasons.

USDCCustom token
DefaultYesNo
ConfigurationNoneRequires token address, decimals, symbol, and name
NetworkBaseBase
Checkout displayAutomaticUses your configured symbol and name
Legacy supportN/AMNEE_* aliases still supported

To use USDC (default): leave SETTLEMENT_TOKEN_ADDRESS / NEXT_PUBLIC_SETTLEMENT_TOKEN_ADDRESS unset.

To use a custom token: set SETTLEMENT_TOKEN_ADDRESS, SETTLEMENT_TOKEN_DECIMALS, SETTLEMENT_TOKEN_SYMBOL, and SETTLEMENT_TOKEN_NAME in the backend, plus the matching NEXT_PUBLIC_... values in the frontend.

The switch is seamless — the checkout UI, verification flow, and webhook payloads all adapt to the configured settlement token.

Further Reading