Resources
Changelog
Changes to the Monerail API, newest first.
Additions (new endpoints, optional parameters, response fields, event types, error codes) can ship at any time. Changes that may require action on your side are marked Action needed.
2026-10-31 · New countries
Eight more countries are open in the API, for collections and mobile money payouts: Gabon, Chad, Congo and Central African Republic (XAF), Mali and Niger (XOF), Guinea (GNF) and DR Congo (CDF).
- New currencies:
GNF(whole francs) andCDF(in centimes; send multiples of 100). See Amounts and currencies. countryselects the country when a currency is shared: XAF still defaults to CM, XOF to SN. A country that is not open for the currency returns400 country_unsupported.- List operators accepts an optional
countryquery parameter, for exampleGET /v1/operators?currency=XAF&country=TD. - Codes generated by the customer: for some operators (Orange Money in Guinea, for example), the customer dials a USSD code to get a payment code. The collection is
requires_otpandnext_action.ussd_codeholds the code to dial; send the payment code with authorize. next_action.type: "redirect"withnext_action.urlmay be returned when the customer approves on a payment page.- New error codes:
country_unsupported,bank_transfer_unsupported(bank payouts are not available in these eight countries),test_phone_required(test mode accepts only the test numbers there),otp_not_expected.
2026-10-31
Security and reliability hardening.
- Action needed. Identity verification:
place_of_birthis now required by Submit identity verification.address.postal_codestays optional. Limited to 5 submissions per cardholder per 24 hours. The key’s role is checked before any document is stored. - Action needed. Collections in NGN now fail with
400 currency_unsupported. Payouts and settlements in NGN still work. - Action needed. Bank payouts:
recipient.bank_codemust exactly match acodefrom List banks. Otherwise:400 bank_account_invalid. - Action needed. Single-use cards cannot be funded or withdrawn from (
400 card_single_use), and cannot have aspending_limit(400 parameter_invalid). A single-use card can be paid once; it is terminated automatically 30 days after issue. - Action needed. Read permissions: reading events needs the Owner, Finance or Developer role; reading webhook endpoints needs Owner or Developer. Otherwise:
403 permission_denied. - Rate limits: 100 requests per 10 seconds per API key, and 10 redeliveries per event per hour. Beyond:
429 rate_limitedwithRetry-After. See Rate limits. - Card actions: when the card issuer’s answer is not final, issue, fund, withdraw, freeze, unfreeze and terminate return
202and the result arrives by webhook. Money returns to the cards balance only once a failure is final. - Idempotency: if a problem occurs after money was sent to a partner, the API returns
202with the object instead of a5xx, and a retry with the sameIdempotency-Keyreplays it. - Webhook endpoints: URLs with an IP address or
user:password@are refused (400 url_invalid). Deliveries to domains that resolve to private addresses fail with “destination not allowed” and are retried. The signingsecretis only in the original201response, not in replays. - Collections:
failure_codeis nowfailedorexpired;failure_messagemay give a reason. - Identity: verification is per business. A person verified by another business is verified again for yours.
- Errors: requests rejected for a reason without its own code return a generic
request_invalidmessage, and5xxerrors a generic message. Partner refusals keep their reason underprovider_declined. - Test helpers: Simulate a card payment accepts
status: "declined", which sendscard.authorization_declinedand charges nothing. Simulate a verification decision accepts areason. - Headers: every response carries
Strict-Transport-SecurityandX-Content-Type-Options: nosniff. - Reference data: List operators and List banks are cached for up to 10 minutes.
2026-10-30
First release of the Monerail API v1 (Monerail-Version: 2026-10-30).
- Balance, collections (approval on the phone or code), payouts to mobile money and bank accounts, settlements, transactions.
- Cardholders and identity verification, virtual Visa and Mastercard cards for team members, customers and AI agents.
- Webhook endpoints and events, signed with HMAC-SHA256 and retried 8 times over about 42 hours.
- Reference data (operators, banks), test helpers, idempotency keys, cursor pagination.