Changelog
All notable, developer-facing changes to the Esca API are recorded here, most
recent first. Dates are in YYYY-MM-DD.
Changes are grouped under the affected area and tagged Added, Changed, Fixed, Deprecated or Removed. Only changes that affect the public API surface (endpoints, request/response fields, behaviour) are listed.
2026-10-22
Webhooks — Wallet events
Added
-
Documented the
wallet.creditedandwallet.debitedevent types and payloads, which were already being delivered but missing from the reference. -
wallet.creditednow includes the originating payer on fiat bank deposits:senderName,senderAccountNumber,senderBankCode(withsenderBankCodeType—BIC/SORT_CODE/ROUTING_NUMBER/BANK_CODE/BANK_NAME), thepaymentReferenceand thepaymentRail(the network the transfer arrived on, normalised across providers to a standard set:FASTER_PAYMENTS,BACS,CHAPS,SWIFT,SEPA,SEPA_INSTANT,FEDWIRE,ACH,TARGET2,UNKNOWN). These fields are omitted for crypto deposits and conversion credits, where no external bank sender exists.
2026-10-15
Payouts — Fiat (POST /v1/payouts/fiat)
Added
-
Non-IBAN destinations — countries that do not use IBAN are now identified
by a plain local account number in
accountNumber(US, Canada, Australia, New Zealand, India and most of Africa, Asia and Latin America). -
Canada (
countryCode: "CA") —institutionNumber(3 digits) andtransitNumber(5 digits). -
Australia / New Zealand (
countryCode: "AU"/"NZ") —bsbNumber, the 6-digit BSB (Bank-State-Branch) number. - India (
countryCode: "IN") —ifscCode, the 11-character IFSC code. - Reference documentation for these routing fields, with example requests for Canada, Australia and India.
Changed
-
accountNumbernow means IBAN for IBAN-using countries, plain account number otherwise. For non-IBAN destinations, send the local account number — not an IBAN.
Fixed
-
Bank-detail validation no longer rejects a valid non-IBAN account with a
spurious
IBAN country code (..) does not match the selected country codeerror.
These changes are additive — integrations that already send a single
accountNumberkeep working; the new routing fields are only required for the destinations listed above.
2026-07-22
Rates — OTC (WebSocket) & Conversions
Added
- OTC Rates feed — a dedicated WebSocket channel for indicative NGN/GHS OTC pricing, documented under Live Rates → OTC Rates.
-
Create OTC Quote (
POST /v1/conversions/otc-quote) — request a locked OTC quote for NGN/GHS conversions.
2026-07-21
Payouts & Conversions
Added
-
createdAtandupdatedAttimestamps on payout responses (POST /v1/payouts/*, payout status, list payouts) and on the conversion status response.
2026-06-08
Rates — Live Rates (WebSocket)
Added
-
Live Rates streaming — a WebSocket feed (
/v1/rates) of indicative bid/ask prices, with connecting, subscribing and error/limit guides.
2026-05-22
Conversions (POST /v1/conversions/convert)
Added
-
accountId(optional) — choose which NGN virtual account to debit whensourceCurrencyisNGN. If omitted, the first available NGN account is used; ignored for non-NGN sources.
2026-04-30
Files & Payouts
Added
-
Upload File (
POST /v1/files) — upload a document and reference the returneddata.idon later requests. -
Fiat payouts accept
paymentPurposeAttachmentId— attach a previously uploaded document (e.g. an invoice) to a payout.
2026-04-26
Conversions, Payouts & Wallet (major release)
Added
-
Conversions — overview, Create Quote, Get Quote, Convert
(
POST /v1/conversions/convert) and Conversion Status. -
Payouts — Crypto Payout (
POST /v1/payouts/crypto), Fiat Payout (POST /v1/payouts/fiat), Payout Status and List Payouts. -
Wallet — Balances (
GET /v1/wallet/balances) across NGN, USD, EUR, GBP, BTC, USDT and USDC. - New webhook event types and payloads for conversions and payouts.
2026-02-10
Webhooks
Added
- Dedicated webhook event types and payloads for bulk transfers.
2026-02-08
Virtual Accounts
Added
- Look up a transfer by your own external reference on the transfer-status endpoint; related transfer and bulk-transfer fields documented.
2026-01-25
Virtual Accounts
Added
- Simulate Deposit — a sandbox endpoint to simulate an inbound deposit to a virtual account.
2026-01-21
Initial release
Added
- First public API documentation: Introduction, Getting Started, Authentication, Virtual Accounts (create, list, get, banks, verify, transfer fee, transfer, transfer status, bulk transfer + status, transactions), Webhooks, and the Error Handling, Idempotency, Rate Limiting, Code Examples and Support guides.