Generates a deposit address and payment session. The customer sends crypto to the returned address to complete the payment.
Blockchain network (e.g., "polygon", "ethereum", "solana")
Token to accept. One of: "USDC", "USDT"
Amount in local fiat currency (e.g., "37500.00" for NGN)
ISO currency code for localAmount (e.g., "NGN", "KES", "GHS")
Amount in cryptocurrency. Provide this or localAmount — not both.
Session expiry in seconds (default: 600)
Optional human-readable label (e.g., "Order #12345")
curl -X POST https://secureapi.gridlog.io/api/v1/pos/sessions \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chain": "polygon",
"token": "USDC",
"localAmount": "37500.00",
"localCurrency": "NGN",
"expirySeconds": 600,
"label": "Order #12345"
}'
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"chain": "polygon",
"address": "0x1234abcd...",
"token": "USDC",
"amountExpected": "25.00",
"status": "pending",
"expiresAt": "2025-03-21T10:10:00.000Z",
"label": "Order #12345"
}
Deposit address — display this (or a QR code of it) to the customer
Exact crypto amount the customer must send
Session status: pending | paid | paid_out | expired | cancelled
ISO 8601 timestamp when the session expires
Poll Get Session or listen to webhooks to
detect when a payment lands.