Docs / API Reference / API Overview

API Overview

The PayItFast API is a REST API platform providing businesses, marketplaces, and financial platforms with compliant payment solutions. Use it to accept stablecoin payments via Crypto Checkout, enable fiat-to-crypto conversion via Onramp, and crypto-to-fiat conversion via Offramp — across 69 countries, 47+ fiat currencies, and 70+ crypto tokens.

Version

All endpoints described in this documentation use API version v2.

Base URLs

PayItFast provides two environments. Use the Sandbox for development and testing, and Production for live transactions.

Environment Base URL
Sandbox https://sandbox-api.payitfast.com
Production https://api.payitfast.com

Authentication

The API uses HTTP Basic Authentication. Every request must include an Authorization header containing your base64-encoded credentials.

HTTP Header
Authorization: Basic <base64(username:password)>

API credentials are obtained from the dashboard at dashboard.payitfast.com. Keep your credentials secure and never expose them in client-side code.

Security

Never expose your API credentials in front-end code, public repositories, or client-side applications. All API calls should be made from your server.

Common Headers

Include these headers with every API request.

Header Type Required Description
Authorization string Required Basic Auth credentials (Basic <base64>)
Content-Type string Required application/json for most requests, or multipart/form-data for file uploads
MID string Optional Merchant/sub-merchant identifier. Used for multi-entity context. If omitted, applies to the default entity.

Request Format

The API accepts two request formats depending on the HTTP method:

Response Format

All responses are returned in JSON format. Successful responses typically include a status field or the requested data directly.

Success Response

200 OK Success
JSON
{
  "data": [
    {
      "currency": "EUR",
      "logoUrl": "https://common-fiat-logos.s3.ap-southeast-1.amazonaws.com/eur.svg",
      "decimalPrecision": 2
    }
  ],
  "pages": 3,
  "status": "success",
  "total": 15
}

Error Response

400 Bad Request Error
JSON
{
  "error": {
    "code": "INVALID_ARGUMENTS",
    "message": "The 'direction' parameter is required and must be 'deposit' or 'withdraw'."
  }
}

HTTP Status Codes

The API uses standard HTTP status codes to indicate the success or failure of a request.

Code Description
200 Success — The request completed successfully.
201 Resource Created — A new resource (user, order, etc.) was created.
400 Bad Request — Invalid or missing parameters in the request.
403 Forbidden — Access restricted (KYC pending, account blocked, or limits reached).
404 Not Found — The requested resource does not exist.
409 Conflict — Duplicate resource (e.g., user already exists with this email).
422 Unprocessable Entity — Validation failed (e.g., invalid token details for KYC sharing).
500 Internal Server Error — An unexpected error occurred on the server.

Endpoint Summary

The table below lists all 26 available API endpoints. Click any endpoint path to navigate to its detailed documentation. Crypto Checkout (powered by RedotPay Connect) uses a separate API — see the Crypto Checkout page for details.

# Method Path Description
1 GET /v2/supported-currencies List supported fiat currencies
2 GET /v2/payment-methods List payment methods by currency
3 GET /v2/config/list-tokens List crypto tokens and networks
4 GET /v2/exchange-rates/live-rates Live deposit/withdraw rates
5 GET /v2/exchange-rates/fiat-to-crypto Onramp conversion quote
6 GET /v2/exchange-rates/crypto-to-fiat Offramp conversion quote
7 POST /v2/users/individual Create individual user
8 GET /v2/users/individuals List individual users
9 POST /v2/users/business Create business user
10 GET /v2/users/business List business users
11 POST /v2/kyc/standard Submit standard KYC (Level 1)
12 POST /v2/kyc/advanced Submit advanced KYC (Level 2)
13 POST /v2/kyc/share/same-vendor Share KYC via Sumsub token
14 POST /v2/kyc/share/third-vendor Share KYC from third-party provider
15 POST /v2/kyc/share/add-docs Submit additional KYC documents
16 GET /v2/kyc/user Get KYC status
17 POST /v2/kyb/standard Submit standard KYB
18 POST /v2/kyb/advanced Submit advanced KYB
19 GET /v2/kyb/user Get KYB status
20 POST /v2/orders/deposit Create fiat payin order
21 POST /v2/payout/orders Create fiat payout order
22 GET /v2/orders/{orderId} Get order details
23 POST /v2/prefunds/create-crypto-prefund Create crypto prefund
24 POST /v2/prefunds/create-fiat-prefund Create fiat prefund
25 POST /v2/sandbox/prefunds/create-prefund Sandbox prefund (test only)
26 GET /v2/balance Get account balance

Configuration

Discover supported currencies, payment methods, and crypto tokens available for your integration.

View endpoints

Exchange Rates

Fetch live rates, conversion quotes, and lock prices with quoteId for payin and payout flows.

View endpoints

User Management

Create and manage individual and business users before initiating transactions.

View endpoints