Skip to main content
This guide walks through creating a payment order using the Sender API, the recommended path for all new integrations. You’ll have a working off-ramp in under 10 minutes. You do not need to call the public rates API first—POST /v2/sender/orders resolves an acceptable rate unless you pass a locked rate on create (see the Sender API integration guide).

Prerequisites

  • A Paycrest Sender account (sign up at app.paycrest.io)
  • KYB verification completed (typically 1–3 business days)
  • Your API Key from the dashboard

Optional: Prefetch a quote for the UI

If you want to show an exchange rate in checkout before create, call the public GET /v2/rates/{network}/{from}/{amount}/{to} endpoint (no API key). For when to pass rate on create and full examples, see Optional: prefetch quotes and account names. Endpoint reference: Get Token Rate (v2).

Step 1: Create a Payment Order

Use POST /v2/sender/orders. Set source.type and destination.type to choose the direction.

Step 2: Complete the Payment

The response includes a providerAccount that tells you (or your user) where to send funds.

Offramp

Send tokens to providerAccount.receiveAddress before validUntil. The total to send is amount + senderFee + transactionFee (all returned in the response).

Onramp

Show providerAccount details to the user. They transfer exactly amountToTransfer in currency to accountIdentifier before validUntil.

Step 3: Track Order Status

Poll GET /v2/sender/orders/:id or listen for webhooks configured in your dashboard.

Order Statuses

  • initiated — order created, awaiting deposit
  • deposited — deposit confirmed (off-ramp)
  • pending — assigned to provider
  • fulfilling — fiat/crypto disbursement in progress
  • validated — payout confirmed by provider
  • settling — onchain release in progress
  • settled — order complete
  • expired — no deposit received before deadline
  • refunding — refund in progress
  • refunded — deposit returned to sender

Timing

  • Typical completion: under 30 seconds for the majority of orders
  • expired: receive address or virtual account never funded
  • refunded: deposit received but order couldn’t complete
  • Minimum order: $0.50 on any supported chain

Next Steps

Full Integration Guide

Webhooks, signature verification, token transfers, v1 legacy API, and more

API Reference

Interactive endpoint docs with full request/response schemas

Supported Stablecoins

Tokens, networks, contract addresses, and decimals

Supported Currencies

Active fiat corridors and delivery channels