Skip to main content

Frequently Asked Questions

Find answers to common questions about the Zentra platform.

Getting Started

  1. Create a developer account
  2. Generate your sandbox API keys
  3. Follow our Quickstart Guide
  4. Build and test in sandbox
  5. Go live when ready
Yes! Sandbox access is completely free with no time limits. You only pay when processing live transactions.
We provide official SDKs for:
  • JavaScript/TypeScript (Node.js, React, Next.js)
  • Python
  • PHP
You can also use our REST API with any language that supports HTTP.
Most developers complete basic integration in 1-2 days. A complete neobank app typically takes 1-2 weeks depending on features.

API & Authentication

Include your API key in the Authorization header:
Authorization: Bearer YOUR_SECRET_KEY
See Authentication Guide for details.
  • Sandbox keys (sk_sandbox_*): For testing, no real money
  • Live keys (sk_live_*): For production, real transactions
Never mix sandbox and live keys in your code.
  1. Verify you’re using the correct key for the environment
  2. Check the key hasn’t been revoked in the Developer Console
  3. Ensure you’re including Bearer prefix in Authorization header
  4. Use Contact Support if the issue persists
  • Sandbox: 100 requests/minute
  • Starter: 1,000 requests/minute
  • Growth: 5,000 requests/minute
  • Enterprise: Custom
See Rate Limits for details.

Virtual Accounts

Virtual accounts are unique bank account numbers assigned to your customers. When someone sends money to a virtual account, it’s automatically credited to your wallet, and you receive a webhook notification.
Currently supported:
  • GTBank (058)
  • Wema Bank (035)
  • Providus Bank (101)
  • Sterling Bank (232)
More banks are being added regularly.
Yes, up to 5 virtual accounts per customer.
Virtual account creation is instant, typically taking 1-5 seconds.
  • Account creation: Free
  • Monthly maintenance: Free
  • Incoming transfers: ₦10 per transaction

Transfers

Most transfers complete within seconds. Some banks may take up to 24 hours.
  • ₦0 - ₦5,000: ₦10
  • ₦5,001 - ₦50,000: ₦25
  • Above ₦50,000: ₦50
  • Single transaction: ₦5,000,000
  • Daily limit: ₦10,000,000
  • Custom limits available for enterprise
Yes, we support transfers to all Nigerian banks.
Failed transfers are automatically refunded to your wallet. You’ll receive a webhook notification with the failure reason.

Payments

  • Cards (Visa, Mastercard, Verve)
  • Bank transfers
  • USSD
  • Bank account debits
  • Local cards: 1.5% capped at ₦2,000
  • International cards: 3.9%
  • Bank transfers: Free
  • USSD: ₦100 flat
Use the payment reference to call the verify endpoint:
const payment = await client.payments.verify('PAY_123');

Webhooks

Webhooks notify your server of events in real-time, such as:
  • Virtual account credits
  • Transfer completions
  • Payment successes
  • Card transactions
  1. Go to Developer Console → Webhooks
  2. Add your webhook URL
  3. Select events to receive
  4. Save and copy the webhook secret
  5. Verify webhook signatures in your code
See Webhooks Guide for details.
const isValid = client.webhooks.verify(
  payload,
  signature,
  secret
);
See Verify Signatures.
We’ll retry failed webhooks with exponential backoff for up to 3 days. You can also replay webhooks from the developer tooling available to your tenant.

KYC & Compliance

  • BVN verification
  • NIN verification
  • Selfie verification
  • Address verification
BVN verification is required for:
  • Creating virtual accounts
  • High-value transactions
  • Card issuing
It’s recommended for all customers to ensure compliance.
  • BVN: Instant
  • NIN: 1-5 minutes
  • Selfie: 1-10 minutes

Billing & Pricing

Zentra uses transaction-based pricing. You only pay for:
  • Transfer fees (₦10-50)
  • Payment processing (1.5-3.9%)
  • Virtual account credits (₦10)
  • Card issuing (₦500/card)
No monthly fees or setup costs.
Settlements are processed:
  • T+1: Next day settlement (default)
  • Instant: Available for enterprise
Funds are settled to your registered bank account.
Yes. Use Contact Support for custom pricing based on rollout scope and volume.

Troubleshooting

This usually means:
  1. Invalid API key
  2. Missing Authorization header
  3. Using sandbox key on live endpoint
Double-check your API key and environment.
Common causes:
  • Insufficient wallet balance
  • Invalid recipient account
  • Daily limit exceeded
  • Network issues
Check the error message for specific details.
  1. Verify webhook URL is publicly accessible
  2. Check firewall/security settings
  3. Ensure endpoint returns 200 status
  4. Check webhook logs in Dashboard
  5. Test with ngrok for local development
  1. Check API Status
  2. Search existing issues
  3. Use Contact Support and include:
    • Request ID
    • Endpoint used
    • Error message
    • Steps to reproduce

Going Live

  1. Complete business verification
  2. Submit required documents
  3. Pass compliance review
  4. Test thoroughly in sandbox
  5. Switch to live API keys
See Going Live Guide for checklist.
Typically 2-5 business days after submitting all required documents.
  • Certificate of Incorporation
  • Directors’ IDs
  • Business address proof
  • Bank statement
  • Shareholders’ details
Requirements may vary by business type.

Still Have Questions?

Contact Support

Get help from our team

Developer Console

Manage keys, webhooks, and account settings

API Reference

Explore full documentation

API Status

Check system status