Accept USDT & USDC payments — zero fees for your customers
PayUSD handles multi-chain deposits, real-time webhooks, payouts, and USDT ↔ USDC swaps so you can focus on your product.
Everything you need to accept stablecoin payments
Purpose-built infrastructure for merchants and developers who want to accept stablecoins without the complexity.
Zero customer fees
Customers pay exactly what they owe. No network surcharges, no hidden costs added at checkout.
Multi-chain
Accept USDT & USDC on Ethereum, Solana, and TRON from a single integration. One API, three chains.
Webhook-first
Real-time payment events pushed to your endpoint the moment funds arrive. No polling required.
Instant payouts
Send funds to any wallet address on any supported chain, triggered via a single API call.
USDT ↔ USDC swaps
Convert between stablecoins at near-zero cost, on-demand. Settle in whichever asset your business prefers.
API-first
Full REST API with per-org API keys, scoped permissions, signed webhooks, and idempotency support.
How it works
From integration to first payment in minutes. No blockchain expertise required.
Create a checkout
Call POST /v1/checkouts with the amount and currency. Get back a unique deposit address — no external API calls, no wait.
Customer pays
The customer sends USDT or USDC to the address. PayUSD detects the on-chain payment via webhook and notifies your endpoint in real time.
Funds are yours
Your ledger balance updates instantly. Withdraw to any wallet or use funds to power payouts — all via the same API.
Built for developers
A clean REST API with predictable responses, idempotency keys, and signed webhook payloads. Integrate in an afternoon, not a sprint.
- ✓Per-org API keys with scoped permissions
- ✓Webhook signing for secure payload verification
- ✓Idempotency support on all write endpoints
- ✓Consistent error codes and machine-readable responses
Request
curl -X POST https://api.payusd.io/v1/checkouts \
-H "Authorization: Bearer pk_live_..." \
-H "Content-Type: application/json" \
-d '{
"amount": "100.00",
"currency": "USDT",
"chain": "solana",
"webhook_url": "https://yourapp.com/webhooks/payusd",
"metadata": { "order_id": "order_42" }
}'Response
{
"id": "chk_01HZ...",
"status": "pending",
"deposit_address": "7xKp...mNQ",
"amount": "100.00",
"currency": "USDT",
"chain": "solana",
"expires_at": "2025-01-01T01:00:00Z"
}