For the complete documentation index, see llms.txt. This page is also available as Markdown.

Environments

Understand test and live environments in IvoryPay.

IvoryPay provides two fully isolated environments so you can develop and test your integration without risking real funds.

TEST environment

  • Use your test API key (prefixed with sk_test_)

  • No real money is moved — transactions are simulated

  • Virtual accounts and bank transfers are mocked

  • Webhooks are still delivered to your configured URL

  • Use this environment during development and QA

Completing transactions in TEST mode

How you complete a test transaction depends on which way the money flows — and the two methods are not interchangeable:

Flow
What the customer pays
How you complete it in TEST
Tool

On-ramp

Fiat in (→ receives crypto)

Simulate the fiat payment via an API call

simulate-payment endpoint

Off-ramp

Crypto in (→ receives fiat)

Send real testnet crypto to the deposit address

Rule of thumb: fiat → simulate endpoint, crypto → faucet. There is no endpoint that "simulates" a crypto deposit — an off-ramp only advances when a real on-chain deposit is detected.

On-ramp: simulate the fiat payment

The customer's leg is a fiat payment, which has no real bank transfer in test mode, so you simulate it:

# Simulate a fiat payment for an ON-RAMP transaction
curl -X POST https://ramp-api.ivorypay.io/api/v1/transactions/simulate-payment \
  -H "Authorization: sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "reference": "your-onramp-transaction-reference-uuid" }'

This triggers the same webhook events as a real fiat payment, letting you test your full integration flow.

Off-ramp: fund with test crypto from the faucet

The customer's leg is a crypto deposit, so there's nothing to simulate via an API call — you send real test-network crypto to the deposit walletAddress returned when you initiate the off-ramp. Get free testnet/devnet tokens from the IvoryPay faucet:

Get test crypto to fund off-ramp (and other crypto-deposit) test flows

Once the test crypto lands at the deposit address, IvoryPay detects it on-chain and fires the same offramp.cryptoPaymentReceivedofframp.success webhooks as a live transaction.

LIVE environment

  • Use your live API key (prefixed with sk_live_)

  • Real fiat and crypto are transferred

  • Bank account verification, KYC, and compliance checks are enforced

  • Ensure your integration is fully tested before switching to live

Switching environments

Simply swap the API key in your request headers. The base URL remains the same for both environments:

Test and live data are completely isolated. Customers, transactions, and virtual accounts created in test mode are not visible in live mode and vice versa.

Environment comparison

Feature
TEST
LIVE

Real money transfers

No

Yes

Webhook delivery

Yes

Yes

Bank account resolution

Simulated

Real verification

Virtual accounts

Simulated

Real bank accounts

Crypto payouts

Simulated

On-chain transactions

Payment simulation

Available

Endpoint exists; intended for TEST mode

Rate limits

Same as live

Production limits

Last updated