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.

Creates a checkout session, assigns your deposit address, returns a hosted checkout URL. Expires in 30 minutes.
Backend only. Never call from frontend.

Endpoint

POST https://merchant.minisend.xyz/api/merchant/checkout
Authorization: Bearer ms_live_your_key_here
See Authentication.

Body

amount
number
required
USDC amount (>0, two decimals). Customer pays as USDC or USDT-equivalent.
description
string
Shown to the customer on the checkout page.
external_id
string
Your reference (e.g., order ID). Echoed back in webhooks.
customer_email
string
Stored on the session for receipts.

Examples

curl -X POST https://merchant.minisend.xyz/api/merchant/checkout \
  -H "Authorization: Bearer ms_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 25.00,
    "description": "Order #4821 — 2x T-shirts",
    "external_id": "order-4821",
    "customer_email": "customer@example.com"
  }'

Response (201)

{
  "session_id": "cs_7f8a9b2c-1234-5678-abcd-ef0123456789",
  "checkout_url": "https://merchant.minisend.xyz/checkout/cs_7f8a9b2c-1234-5678-abcd-ef0123456789",
  "deposit_address": "0x1234567890abcdef1234567890abcdef12345678",
  "amount_usdc": 25.00,
  "expires_at": "2026-04-13T14:30:00.000Z",
  "status": "pending"
}
session_id
string
required
Unique identifier. Always starts with cs_.
checkout_url
string
required
Hosted checkout page. Redirect the customer here.
deposit_address
string
required
Accepts USDC on 19 chains and USDT on 14 chains. See supported networks.
amount_usdc
number
required
USDC-equivalent amount.
expires_at
string
required
ISO 8601, 30 minutes after creation. Then statusexpired.
status
string
required
Always "pending" on creation. Track via the status endpoint or webhooks.