Payments API · Sandbox & Live keys

Accept Crypto, Receive Instantly in Naira. SDK Built for Developers.

Integrate USDT & USDC checkout with instant Naira settlement. REST API, webhooks, and client libraries — ship in hours, not weeks.

No crypto expertise required · TRC-20 & BSC · Signed webhooks

Try the API in seconds

Pick your language, copy the snippet, and see what a live initiation response looks like.

1curl -X POST https://api.gemrails.com/v1/payments/initiate \
2 -H "Authorization: Bearer sk_live_..." \
3 -H "Content-Type: application/json" \
4 -d '{
5 "amount": 25000,
6 "currency": "NGN",
7 "cryptoNetwork": "TRC20",
8 "cryptoAsset": "USDT"
9 }'
Responsesandbox

Click "Simulate API Call" to preview a sample response.

Built for production payments

Transparent pricing, automated wallets, and instant fiat settlement — exposed through a single REST API.

Instant Naira conversion

USDT and USDC payments settle to Naira automatically. Live rates with buffer applied at initiation — no manual FX steps.

Hot wallet per transaction

Tatum-powered deposit addresses generated for every payment. Merchants never hold crypto or pay gas — we handle chain ops end-to-end.

Real-time webhooks

Signed HTTP callbacks for initiated, settled, and failed events. Retry logs and test pings when you wire up the developer dashboard.

Fee structure

Clear, predictable costs on every successful transaction

₦1,500

Rate buffer

Added to the quoted exchange rate at payment initiation for volatility protection.

₦1,000

Platform fee

Flat fee per successful transaction covering rails, compliance, and infrastructure.

₦50

Merchant bonus

Credited to the merchant on every settled payout — on top of the Naira settlement.

Plus ₦50 merchant payout bonus on each settlement — included in the API response as merchantBonusNgn

Quickstart in three steps

From install to your first sandbox transaction — copy commands and follow the checklist below.

1

Install the SDK

Add the official client to your app with npm or Bun.

npm

npm install @gemrails/sdk

bun

bun add @gemrails/sdk
2

Configure environment variables

Use sandbox keys first. Never commit secret keys to git.

.env.local

GEMRAILS_SECRET_KEY=sk_test_...
GEMRAILS_API_URL=https://api.gemrails.com
3

Test in sandbox

Create keys in the dashboard, initiate a test payment, and confirm webhooks.

Run dev server

npm run dev

Webhook integration

Subscribe to transaction.initiated, transaction.settled, and transaction.failed. Verify payloads with your webhook secret.

See initiate example