Skip to main content

Types & Enums

This page documents all the types, enums, and constants used in the ChainPal API.

Payment Status

The current state of a payment session.
ValueDescription
pendingPayment created, waiting for customer to complete checkout
processingPayment received, being processed and settled
completedPayment successful, funds settled to merchant
expiredPayment window expired before funds were received
failedPayment failed due to an error

API Environment

ValueDescription
testSandbox environment for development and testing
liveProduction environment with real transactions

Supported Tokens

Cryptocurrencies accepted for payment.
TokenNameDescription
USDTTetherUSD-pegged stablecoin
USDCUSD CoinUSD-pegged stablecoin

Supported Networks

Blockchain networks available for payments. Availability varies by merchant country.
NetworkChainChain ID
baseBase (Coinbase L2)8453
celoCelo42220
celo-sepoliaCelo Sepolia Testnet44787
polygonPolygon137
bscBNB Smart Chain56
arbitrumArbitrum One42161
liskLisk1135
celo-sepolia is only available in the test environment for development purposes.

Token/Network Availability by Country

The available token/network combinations depend on the merchant’s country:

Nigeria (NGN)

TokenAvailable Networks
USDCbase, celo, celo-sepolia (test only), polygon
USDTcelo, polygon

Ghana (GHS)

TokenAvailable Networks
USDCbase, celo, polygon
USDTcelo, polygon

Kenya (KES)

TokenAvailable Networks
USDCbase, celo, polygon
USDTcelo, polygon

South Africa (ZAR)

TokenAvailable Networks
USDTbsc

Settlement Currencies

Fiat currencies for settlement (payout to bank accounts).
CodeCurrencyCountry
NGNNigerian NairaNigeria
GHSGhanaian CediGhana
KESKenyan ShillingKenya
ZARSouth African RandSouth Africa
USD is supported for collection (charging customers in USD), but settlement always occurs in the merchant’s local currency.

Transaction Limits

Local Currency Limits

CountryCurrencyMinimumMaximum
NigeriaNGN1,000.001,000,000.00
GhanaGHS20.005,000.00
KenyaKES50.00250,000.00
South AfricaZAR35.0050,000.00

USD Collection Limits

When collecting in USD (collectInUSD: true):
CountryMinimum USDMaximum USD
Nigeria$1.00$2,000.00
Ghana$1.50$1,600.00
Kenya$1.50$4,000.00
South Africa$2.00$5,000.00
Global Defaults:
  • Minimum: $1.00
  • Maximum: $5,000.00

Minimum Crypto Amounts

TokenMinimum Amount
USDT1.0
USDC1.0

Token Contract Addresses

Official contract addresses for supported tokens on each network.

USDT (Tether)

NetworkContract Address
Arbitrum One0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9
Base0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2
BNB Smart Chain0x55d398326f99059fF775485246999027B3197955
Lisk0x05D032ac25d322df992303dCa074EE7392C117b9
Celo0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e
Polygon0xc2132D05D31c914a87C6611C10748AEb04B58e8F

USDC (USD Coin)

NetworkContract Address
Arbitrum One0xaf88d065e77c8cC2239327C5EDb3A432268e5831
Base0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Lisk0xF242275d3a6527d877f2c927a82D9b057609cc71
Celo0xcebA9300f2b948710d2653dD7B07f33A8B32118C
Celo Sepolia0x01C5C0122039549AD1493B8220cABEdD739BC44E
Polygon0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359

Customer Info Object

Customer information included in payment requests.
{
  "email": "[email protected]",
  "firstName": "John",
  "lastName": "Doe"
}
FieldTypeRequiredDescription
emailstringYesCustomer’s email address
firstNamestringNoCustomer’s first name (2-50 characters)
lastNamestringNoCustomer’s last name (2-50 characters)

Metadata Object

Custom key-value pairs for storing additional data with payments.
{
  "orderId": "12345",
  "productName": "Premium Plan",
  "userId": "user_abc123"
}
  • Keys and values must be strings
  • Maximum key length: 50 characters
  • Maximum value length: 500 characters
  • Maximum pairs: 20