Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.minisend.xyz/llms.txt

Use this file to discover all available pages before exploring further.

USDC on 19 chains, USDT on 14 chains. Same deposit address for both.Settles to KES, NGN, GHS, UGX via M-Pesa, Buy Goods, Paybill, mobile money, or bank transfer depending on the currency. Configure once in Settings.
USDC (19): Base (primary), Arbitrum, Avalanche, Codex, EDGE, Ethereum, HyperEVM, Ink, Linea, Monad, Morph, Optimism, Plume, Polygon, Sei, Sonic, Unichain, World Chain, XDC.USDT (14): ADI, Arbitrum, Aurora, Avalanche, Bera, BNB Chain, Ethereum, Gnosis, Monad, Optimism, Plasma, Polygon, Scroll, XLayer.See supported networks.
  • USDC on Base — fastest. Settlement starts immediately.
  • USDC on another chain — CCTP bridge to Base, then settle. A few minutes.
  • USDT on any chain — swap to USDC on Base in 30–50 seconds, then settle.
After USDC is on Base, the M-Pesa/bank/mobile money transfer follows provider timing. You receive a checkout.completed webhook and see completed in the dashboard.
No. Customers send stablecoins; you receive local currency. Your only interactions are the Minisend dashboard and your existing bank or mobile money account.
Sessions expire after 30 minutes with no deposit. Expired sessions appear with Expired status and are not charged. Minisend also sends a checkout.expired webhook.
If a customer says they paid but the session expired, ask for the transaction hash and address — they may have sent to the wrong address or on an unsupported chain.
Your own reference passed at session creation (e.g., order-4821). Echoed back in every webhook for that session — match payments to orders without maintaining a session-to-order mapping.Optional, but strongly recommended for any system with order records.
Rare. Status moves to Failed and Minisend sends checkout.failed. Contact support with the session_id.
Customer funds are not lost. Minisend will investigate and contact you.
Yes. Set a slug in Settings and share your payment link:
https://merchant.minisend.xyz/pay/your-slug
Customers visit, enter an amount, send USDC or USDT. You receive local currency.
  1. Create a session via API with amount: 1.00.
  2. Open the checkout_url.
  3. Pay from a real wallet.
  4. Confirm your webhook gets checkout.completed.
  5. Check the dashboard for Completed.
  6. Verify funds in your payout account.
No sandbox — tests use real funds. Use the smallest practical amount.
Default is 60 req/min/IP. If you’re hitting 429s, contact support.