Developers

Build on a bank-grade API

Contract-first REST APIs, events and webhooks for every capability. Get sandbox keys in minutes and send your first transfer before lunch.

# Open a savings account for the signed-in customer
curl -X POST https://api.bankqore.com/v1/account \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Tenant: acme" \
  -H "X-Environment: sandbox" \
  -H "Idempotency-Key: 7f9c2b1e-41d5-4c8e-9a10-2b6f0f3e5d11" \
  -H "Content-Type: application/json" \
  -d '{ "productCode": "SAV-CLASSIC", "currency": "NGN", "name": "Rent" }'

# 201 Created
{
  "code": "SUCCESS",
  "data": {
    "accountNumber": "2041773195",
    "category": "SAVINGS",
    "productCode": "SAV-CLASSIC",
    "currency": "NGN",
    "status": "ACTIVE"
  }
}
Quickstart

Your first transfer in four steps

  1. Create a sandbox

    Sign up in the Tenant Console; a sandbox is ready in minutes.

  2. Create API credentials

    OAuth 2.0 client credentials scoped to the permissions you need.

  3. Call the API

    Open an account, fund it, and send money over simulated NIP.

  4. Listen for events

    Subscribe to webhooks for postings, transfers and KYC changes.

Developer experience

Predictable by design

  • OpenAPI 3.1 contracts

    One source of truth; SDKs, docs and server stubs are generated from it and checked in CI.

  • Events & webhooks

    AsyncAPI 3 and CloudEvents, signed deliveries, retries with backoff and a replay console.

  • Idempotent writes

    Every write takes an idempotency key, so retries never double-post money.

  • Scoped access

    Every operation declares its permission and rate limit; tokens carry only what they need.

  • Realistic simulators

    NIP, KYC and SMS simulators with success, timeout and failure scenarios.

  • SDKs

    Java and TypeScript SDKs, generated from the contracts and versioned with them.

    ◷ Pilot 2027

Status, changelog and support

Breaking changes are announced 6 months ahead and versioned in the URL.