Stablecoin payments infrastructure

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.

Supported chains:EthereumSolanaTRON

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.

01

Create a checkout

Call POST /v1/checkouts with the amount and currency. Get back a unique deposit address — no external API calls, no wait.

02

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.

03

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"
}