# Docs > Accept USDC and USDT payments and settle to local currency in Kenya, Nigeria, Ghana, and Uganda. Developer documentation for the Minisend Merchant API, checkout sessions, payment links, webhooks, and dashboard. - [One Tap USDT/USDC for your business.](https://docs.minisend.xyz/introduction.md): Accept USDC, USDT, or M-Pesa from your customers and get paid in KES, NGN, GHS, or UGX, straight to M-Pesa, mobile money, or your bank account. - [Accept your first payment](https://docs.minisend.xyz/quickstart.md): Accept your first USDC or USDT payment and receive local currency settlement in five steps, from sign-up to a working checkout session. - [Build with an AI coding agent](https://docs.minisend.xyz/ai-agent-skill.md): Install a skill that teaches Claude Code, Cursor, Codex, and other AI coding agents to integrate every Minisend API offline. - [Connect your agent with MCP](https://docs.minisend.xyz/mcp-server.md): Add the Minisend MCP server and let your coding agent quote payouts, create orders, collect M-Pesa payments, and provision wallets directly. - [How it works](https://docs.minisend.xyz/how-it-works.md): Follow a payment from stablecoin deposit to local currency payout, and the status your session moves through at each step. - [Business verification](https://docs.minisend.xyz/business-verification.md): Submit your incorporation documents, founder details, and proof of address to activate live payouts on Minisend. - [Dashboard overview](https://docs.minisend.xyz/dashboard/overview.md): Your wallet balance, USDC volume, collections split, revenue chart, and recent transactions on one screen. - [Wallet](https://docs.minisend.xyz/dashboard/wallet.md): Your business USDC balance: top up on Base, then withdraw to M-Pesa, a till, a paybill, a Nigerian bank account, or an external wallet. - [Payroll](https://docs.minisend.xyz/dashboard/payroll.md): Pay your whole team to M-Pesa in one run, funded from your wallet balance. Import employees by CSV, review the total, and track every payment. - [Wallets](https://docs.minisend.xyz/dashboard/wallets.md): Set up the Wallet API: activate chains, generate keys, issue addresses, and manage auto-sweep and withdrawals. - [Team](https://docs.minisend.xyz/dashboard/team.md): Invite teammates to your dashboard by email, with owner, admin, and read-only member roles. - [Transactions](https://docs.minisend.xyz/dashboard/transactions.md): Browse your full Minisend payment history, filter by status, search by reference ID or amount, and inspect individual transaction details in the panel. - [API keys](https://docs.minisend.xyz/dashboard/api-keys.md): Generate, copy, and revoke API keys to authenticate checkout session requests from your backend. Keys use the ms_live_ prefix and are shown only once. - [Settings](https://docs.minisend.xyz/dashboard/settings.md): Set your business name, payout currency and method, payment link slug, settlement mode, and destination chain, so Minisend knows exactly where to send your money. - [Security](https://docs.minisend.xyz/dashboard/security.md): Turn on two-factor authentication with an authenticator app, save your recovery codes, and keep access to your account. - [Webhooks](https://docs.minisend.xyz/dashboard/webhooks.md): Set your endpoint, copy your signing secret, send a test event, and replay any delivery that didn't land. - [Payment links](https://docs.minisend.xyz/payments/payment-links.md): Share a URL to collect USDC or USDT payments with no code. Minisend converts every payment to local currency and sends it to your M-Pesa or bank account. - [Checkout sessions](https://docs.minisend.xyz/payments/checkout-sessions.md): Create Minisend checkout sessions server-side to embed crypto payments into any app. Customers get a hosted page; you receive a webhook on settlement. - [Supported networks and currencies](https://docs.minisend.xyz/payments/supported-currencies.md): Minisend accepts USDC and USDT on six chains, then settles to KES, NGN, GHS, or UGX via M-Pesa, mobile money, and bank transfer. - [Off-ramp API](https://docs.minisend.xyz/offramp/overview.md): Send USDC from your own wallet and Minisend pays out KES, NGN, GHS, or UGX to any recipient: M-Pesa, mobile money, till, paybill, or bank account. - [Off-ramp quickstart](https://docs.minisend.xyz/offramp/quickstart.md): Convert USDC to an M-Pesa or bank payout: quote the amount, create an order, send USDC on Base, and submit the transaction hash only when the order asks for it. - [Recipients](https://docs.minisend.xyz/offramp/recipients.md): The recipient object shape for every payout method: M-Pesa and mobile money numbers, Kenyan tills and paybills, and bank accounts in Kenya and Nigeria. - [Off-ramp webhooks](https://docs.minisend.xyz/offramp/webhooks.md): Payload schemas for offramp.completed, offramp.failed, and offramp.expired, delivered to your webhook URL and signed with the same X-Minisend-Signature header. - [Onramp API](https://docs.minisend.xyz/onramp/overview.md): Collect KES over M-Pesa or NGN by bank transfer, and receive USDC in your own wallet. The opposite of the off-ramp API. - [Onramp quickstart](https://docs.minisend.xyz/onramp/quickstart.md): Collect your first M-Pesa or bank transfer payment and receive USDC in your own wallet: quote the amount, then create the order. - [Onramp webhooks](https://docs.minisend.xyz/onramp/webhooks.md): Payload schemas for onramp.completed, onramp.released, onramp.failed, onramp.cancelled, and onramp.expired on both the M-Pesa and bank transfer rails, signed with the same X-Minisend-Signature header. - [Wallet API](https://docs.minisend.xyz/wallet-api/overview.md): Give every user of your product a real on-chain address, without building or running wallet infrastructure yourself. - [Wallet API quickstart](https://docs.minisend.xyz/wallet-api/quickstart.md): Activate a chain, generate a key, and issue your first user address in two API calls. - [Wallet API webhooks](https://docs.minisend.xyz/wallet-api/webhooks.md): Get notified when a wallet you created receives funds, and when a withdrawal or a transfer between your users completes or fails. - [Settlement](https://docs.minisend.xyz/wallet-api/settlement.md): Have every deposit convert to USDC and land on one chain, at your user's own address. - [Webhooks](https://docs.minisend.xyz/webhooks/overview.md): Minisend posts a signed event to your server at every stage of a payment, from the moment a deposit is first seen through settlement, forwarding, or a terminal failure. Configure your endpoint, verify signatures, and understand retries. - [Verify webhook signatures](https://docs.minisend.xyz/webhooks/verification.md): Use HMAC-SHA256 and the X-Minisend-Signature header to confirm webhook requests came from Minisend. Includes examples in JavaScript, Python, and PHP. - [Webhook events](https://docs.minisend.xyz/webhooks/events.md): Full payload schemas for every checkout and settlement event: pending, completed, failed, expired, forwarded, and the two settlement-failure events, with field descriptions and best practices for idempotent handling. - [FAQ](https://docs.minisend.xyz/help/faq.md): Common questions about accepting USDC and USDT, receiving local currency payouts, settlement speed, fees, payment link setup, and testing your integration. - [Authentication](https://docs.minisend.xyz/api-reference/authentication.md): Authenticate Minisend API requests with your API key, and learn which endpoints are public and require no authentication at all. - [Errors](https://docs.minisend.xyz/api-reference/errors.md): Understand the Minisend API error response structure, every HTTP status code your integration may receive, and how to handle each one in your code. - [Create a checkout session](https://docs.minisend.xyz/api-reference/create-checkout.md): Create a Minisend checkout session from your backend to get a hosted payment URL. Customers can pay in USDC or USDT on any of six supported chains. - [Get checkout session status](https://docs.minisend.xyz/api-reference/get-checkout.md): Poll this public Minisend endpoint to track a checkout session from pending through settlement. Returns status, exchange rate, and receipt. - [Payment link endpoints](https://docs.minisend.xyz/api-reference/payment-link.md): Share a no-code payment link for USDC and USDT payments, or fetch merchant info plus a live exchange rate with the public slug lookup endpoint. - [Get a quote](https://docs.minisend.xyz/api-reference/offramp/quote.md): Price a USDC-to-local-currency payout before creating an order. Returns the rate, local amount, fee, and what the recipient nets, with optional recipient validation. - [List institutions](https://docs.minisend.xyz/api-reference/offramp/institutions.md): Every bank and neobank an NGN recipient can hold, with the institution code each one is identified by. - [Validate a recipient](https://docs.minisend.xyz/api-reference/offramp/validate-account.md): Check a bank account, mobile number, till, or paybill and resolve the registered account name before creating an order. - [Create an order](https://docs.minisend.xyz/api-reference/offramp/create-order.md): Create a USDC payout order to any M-Pesa, mobile money, till, paybill, or bank recipient. Returns the deposit address and exact amount to send on Base. - [Submit a deposit](https://docs.minisend.xyz/api-reference/offramp/submit-deposit.md): Report your USDC transfer by submitting the Base transaction hash, for orders where deposit_submission_required is true. Triggers the fiat payout. - [Get an order](https://docs.minisend.xyz/api-reference/offramp/get-order.md): Fetch the current state of an off-ramp order: status, deposit details, executed rate, and the payout receipt once completed. - [List orders](https://docs.minisend.xyz/api-reference/offramp/list-orders.md): Paginated list of your off-ramp orders, newest first, filterable by status. - [Get a quote](https://docs.minisend.xyz/api-reference/onramp/quote.md): Price an M-Pesa or bank transfer collection before creating an order. Specify the local amount or the USDC amount, and get back the rate and fee. - [List bank codes](https://docs.minisend.xyz/api-reference/onramp/institutions.md): Look up the bank code to use in refund_account.institution before creating an NGN bank transfer order. - [Create an order](https://docs.minisend.xyz/api-reference/onramp/create-order.md): Create an onramp order in one call: an M-Pesa prompt to the customer's phone for KES, or a bank account to transfer into for NGN. USDC is released to the address you specify. - [Get an order](https://docs.minisend.xyz/api-reference/onramp/get-order.md): Fetch the current state of an onramp order: status, the release address, the receipt, or the bank transfer details while payment is pending. - [List orders](https://docs.minisend.xyz/api-reference/onramp/list-orders.md): Paginated list of your onramp orders across M-Pesa and bank transfer, newest first, filterable by status. - [Create a wallet](https://docs.minisend.xyz/api-reference/wallet-api/create-wallet.md): Issue an on-chain address for one of your users, or return their existing one. Idempotent on your own reference string. - [Get a wallet by reference](https://docs.minisend.xyz/api-reference/wallet-api/get-wallet-by-ref.md): Look a wallet up by your own identifier instead of Minisend's id. - [Get a wallet](https://docs.minisend.xyz/api-reference/wallet-api/get-wallet.md): Fetch a single wallet you created, by its Minisend-assigned id. - [Get a wallet's balance](https://docs.minisend.xyz/api-reference/wallet-api/get-balance.md): Read a wallet's live USDC balance on every chain it's live on, straight from each chain. - [List all deposits](https://docs.minisend.xyz/api-reference/wallet-api/list-deposits.md): Every deposit across every wallet on your account, newest first. Use it to check against your own records. - [Get a wallet's deposits](https://docs.minisend.xyz/api-reference/wallet-api/get-wallet-deposits.md): Paginated deposit history for one wallet, newest first. - [List wallets](https://docs.minisend.xyz/api-reference/wallet-api/list-wallets.md): Paginated list of every wallet you've created, newest first. - [Auto-sweep settings](https://docs.minisend.xyz/api-reference/wallet-api/sweep-config.md): Read and set the balance at which an address's funds move into your master wallet automatically. - [Request a withdrawal](https://docs.minisend.xyz/api-reference/wallet-api/withdrawals.md): Move a balance out to a destination you've already approved in your dashboard. - [Get a withdrawal](https://docs.minisend.xyz/api-reference/wallet-api/get-withdrawal.md): Check the state of a withdrawal or recovery you requested, by its id. - [Send a transfer](https://docs.minisend.xyz/api-reference/wallet-api/transfers.md): Move USDC or USDT from one of your users' addresses to another of yours, on one chain. - [Recover a stray token](https://docs.minisend.xyz/api-reference/wallet-api/recover.md): Move out a token that landed on one of your addresses but isn't USDC or USDT. - [Find a deposit](https://docs.minisend.xyz/api-reference/wallet-api/deposits-find.md): Look again for a deposit that was paid but never showed up. - [Settlement chain](https://docs.minisend.xyz/api-reference/wallet-api/settlement.md): Read and set the chain every new deposit settles to, as USDC, at your user's own address. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.