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.

Share a URL. No backend code required.
https://merchant.minisend.xyz/pay/{slug}
Set your slug in Settings. Example: mystorehttps://merchant.minisend.xyz/pay/mystore. The page shows your business name, logo, payout currency, and a live exchange rate preview. The customer enters a USDC amount (0.01to0.01 to 10,000) and is taken to the hosted checkout.

Merchant info endpoint

For custom payment pages or live rate previews. Public — no auth.
GET https://merchant.minisend.xyz/api/merchant/pay/info?slug={slug}

Query

slug
string
required
Your payment link slug.

Examples

curl "https://merchant.minisend.xyz/api/merchant/pay/info?slug=mystore"

Response

{
  "business_name": "My Store",
  "logo_url": "https://example.com/logo.png",
  "tagline": "Coffee, brewed in Nairobi",
  "slug": "mystore",
  "payout_currency": "KES",
  "payout_method": "MOBILE",
  "indicative_rate": 129.0
}
business_name
string
required
logo_url
string | null
required
tagline
string | null
required
Shown beneath the business name.
slug
string
required
payout_currency
string
required
KES, NGN, GHS, or UGX.
payout_method
string
required
MOBILE, BUY_GOODS, PAYBILL, or BANK_TRANSFER.
indicative_rate
number | null
required
Local currency per 1 USDC. Best-effort — null if the upstream rate provider is unreachable.
Returns 404 if the slug doesn’t exist or the merchant is inactive. The hosted /pay/{slug} page calls this endpoint when the customer submits the form. Documented for transparency — you don’t call it directly.
POST https://merchant.minisend.xyz/api/merchant/pay

Body

FieldTypeRequiredDescription
slugstringYesMerchant’s slug
amountnumberYesUSDC, 0.01 to 10000
descriptionstringNoOptional note

Response (201)

Same shape as create checkout:
{
  "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"
}
30-minute expiry, same webhook events as API-created sessions.