Stablecoin API v1.0.4 β Release Notes
π Stablecoin API Update v1.0.4 is now live! π
This release adds π°πͺ KES (Kenyan Shilling) support alongside π¬π GHS (Ghanaian Cedi), restructures the USD remote bank account schema into explicit per-rail variants for clearer integration, and documents additional recipient fields.
β¨ What's New
- π°πͺ KES (Kenyan Shilling) now supported across the API (mobile wallet & bank account payouts)
- π¬π GHS (Ghanaian Cedi) documented alongside KES β same rail model (note: GHS uses
beneficiary_phone_number, KES usesrecipient_phone_number) - πΊπΈ USD remote bank account schema split into four explicit per-rail variants (ACH, Domestic Wire, Int'l Wire by Account Number, Int'l Wire by IBAN)
- π New documented USD fields:
account_type,recipient_relationship,bank_name - βοΈ Supported chains endpoint now sourced from the Web3 Engine (source of truth)
π°πͺ KES (Kenyan Shilling)
KES is now available across the API. It appears in supported-currency enums and adds a new account_details variant with two payout rails.
Rails
| Rail | is_mobile_wallet | Required fields |
|---|---|---|
| Mobile wallet | true (default) | currency + recipient_phone_number |
| Bank account | false | currency + is_mobile_wallet + account_number + swift_code |
For third-party recipients, provide third_party_details (recipient_first_name + recipient_last_name).
Example β mobile wallet
{
"account_details": {
"currency": "KES",
"is_mobile_wallet": true,
"recipient_phone_number": "0712345678"
}
}Example β bank account
{
"account_details": {
"currency": "KES",
"is_mobile_wallet": false,
"account_number": "1234567890",
"swift_code": "KCBLKENXXXX"
}
}π¬π GHS (Ghanaian Cedi)
GHS uses the same mobile-wallet / bank-account rail model as KES and is already supported. It's included here for reference alongside KES. β οΈ Note the field-name difference: GHS uses beneficiary_phone_number for the mobile-wallet rail, whereas KES uses recipient_phone_number.
Rails
| Rail | is_mobile_wallet | Required fields |
|---|---|---|
| Mobile wallet | true (default) | currency + beneficiary_phone_number |
| Bank account | false | currency + is_mobile_wallet + account_number + swift_code |
For third-party recipients, provide third_party_details.
Example β mobile wallet
{
"account_details": {
"currency": "GHS",
"is_mobile_wallet": true,
"beneficiary_phone_number": "0241234567"
}
}Example β bank account
{
"account_details": {
"currency": "GHS",
"is_mobile_wallet": false,
"account_number": "1234567890123",
"swift_code": "GHCBGHACXXX"
}
}πΊπΈ USD Remote Bank Account Schema β Per-Rail Variants
The single USD variant (with a combined transfer_method enum) has been split into four explicit oneOf variants, one per rail. Each variant carries only the transfer_method value it supports and its own required-field list β making it clearer which fields are needed for each rail. No request contract change: the same payloads that worked before continue to work.
Variants
| Variant | transfer_method | Required fields |
|---|---|---|
| πΊπΈ USD β ACH | ACH | account_number + routing_number |
| πΊπΈ USD β Domestic Wire | WIRE | account_number + routing_number |
| πΊπΈ USD β International Wire (Account Number) | INT_WIRE | swift_code + account_number |
| πΊπΈ USD β International Wire (IBAN) | INT_WIRE | swift_code + iban |
Behaviour notes
- ACH / Domestic Wire β
account_numberis 8β12 digits;routing_numberis a 9-digit ABA. DomesticWIREwithTHIRD_PARTYrequires the full US address (recipient_stateandrecipient_postal_coderequired). - International Wire β
swift_code(BIC) is required; provide exactly one ofaccount_number(up to 17 chars) oriban.routing_numberis not used. ForTHIRD_PARTY,recipient_stateandrecipient_postal_codeare optional. - See Create remote bank account for the full schemas.
π Additional USD Recipient Fields
The following optional fields are now documented on the USD variants:
account_typeβcheckingorsavingsrecipient_relationshipβ the recipient's relationship to the sender (e.g.First Party,Employee,Vendor or Supplier,Customer,Family,Other)bank_nameβ the name of the recipient's bank
βοΈ Supported Chains
The supported chains metadata is now sourced from the Web3 Engine, which is the source of truth for supported chains. Chain values are de-duplicated and translated to the existing (legacy) chain names, so responses remain compatible.
π Let us know if you need help integrating these updates!
