AApt Commerce
Sign inGet started
Show for

Stablecoin Payments

Accept USDC, USDT, DAI, PYUSD, and Open USD across seven chains. One integration, per-payment addresses, configurable confirmations, on-chain refunds, Travel Rule, and optional auto-conversion to USD.

Overview

Every stablecoin payment gets a one-time deposit address scoped to a single asset and chain. APT watches the mempool + confirmations, applies your reorg-protection window, and emits webhook events at each stage. You settle to your treasury wallet or auto-convert to USD via your off-ramp partner.

Supported assets

USDC

Cash + short-dated Treasury reserves, monthly attested. Broadest chain coverage.

Issuer: Circle · Reserves: cash+treasuries · Yield: none
Chains: Ethereum, Polygon, Base, Arbitrum, Optimism, Solana

USDT

Highest global liquidity; dominant on Tron for cross-border flows.

Issuer: Tether · Reserves: cash+treasuries · Yield: none
Chains: Ethereum, Tron, Arbitrum, Solana

DAI

On-chain collateralized. Transparent reserves, no single issuer.

Issuer: MakerDAO / Sky · Reserves: crypto-collateralized · Yield: none
Chains: Ethereum, Polygon, Arbitrum, Optimism

PYUSD

Bridged into PayPal/Venmo consumer flows.

Issuer: Paxos (for PayPal) · Reserves: cash+treasuries · Yield: none
Chains: Ethereum, Solana

Open USD

beta

Consortium-issued, shared-yield. Reserve interest is redistributed monthly to eligible network partners.

Issuer: Open USD Consortium · Reserves: consortium-shared · Yield: partner-rebate
Chains: Ethereum, Base, Arbitrum, Solana

Per-payment address flow

const transaction = await apt.transactions.create({
  amount: 10000,              // $100.00
  currency: 'usd',
  payment_method: 'stablecoin',
  stablecoin: {
    asset: 'ousd',            // 'usdc' | 'usdt' | 'dai' | 'pyusd' | 'ousd'
    chain: 'base',            // any chain the asset supports
    confirmations: 30,        // override default
  },
});

console.log(transaction.payment_address); // 0x…
console.log(transaction.expires_at);      // one-time address expiry

Confirmations & reorg policy

Each chain has a default confirmation count and a reorg-protection depth. Open USD adds +5 confirmations on every chain while the asset is in beta.

Ethereum default=12 reorg=20
Polygon default=128 reorg=256
Base default=30 reorg=60
Arbitrum default=40 reorg=80
Optimism default=30 reorg=60
Solana default=32 reorg=64
Tron default=20 reorg=40

Refunds & gas sponsorship

On-chain refunds must originate from a wallet on your refund allowlist (Settings → Payment Methods → Stablecoin). Choose who pays gas: merchant, customer, or a sponsor partner (paymaster on chains that support ERC-4337).

Travel Rule

APT integrates with Notabene, Sumsub, and TRM Labs for FATF/FinCEN Travel Rule counterparty exchange. Pick your provider at underwriting; every inbound above the threshold triggers a counterparty lookup.

Auto-convert & settlement

Toggle auto-convert to receive USD on your bank account the next business day. Open USD is swapped to USDC first when auto-convert is enabled, because most off-ramps do not quote OUSD directly at launch.

Open USD & partner rebates

Open USD is a 140-member consortium stablecoin that redistributes reserve interest to eligible network partners. Merchants qualifying by monthly volume receive a monthly distribution to a dedicated rebate wallet. Rebates are treated as reportable income, not a fee offset. Read the full guide →

Errors

  • STABLECOIN_ASSET_NOT_ENABLED — asset not on merchant's accepted list
  • STABLECOIN_CHAIN_NOT_ENABLED — chain not enabled for this asset
  • STABLECOIN_REORG_DETECTED — inbound reorged before confirmation window closed
  • STABLECOIN_TRAVEL_RULE_MISSING — Travel Rule provider not configured
  • STABLECOIN_REFUND_WALLET_REQUIRED — refund attempted without allowlisted wallet
  • OPEN_USD_REBATE_NOT_ELIGIBLE — enrollment attempted below volume threshold
  • OPEN_USD_ASSET_PAUSED — consortium paused the asset or chain

Webhook events

  • stablecoin.address.created
  • stablecoin.payment.confirmed
  • stablecoin.reorg.detected
  • open_usd.rebate.distributed
  • open_usd.status.changed

Availability

Stablecoin payments require additional compliance review. Open USD is in beta with lower caps and +5 confirmations. Request access during signup or from your merchant dashboard settings.