BUY wallet destinations
- Listed the seven providers that automatically lock a submitted BUY wallet in sandbox and production, with no additional lock parameter or integration setting.
- Clarified that
wallet_addressmust be supplied when creating the transaction, even when it was supplied for quotes. - Clarified that new BUYs with a submitted wallet preserve it in
recipient_addresswhen a provider omits the destination or returns it blank. - Coinify and Wert remain pending verification; integrators will be informed in writing when their locking is ready.
- Public request and response fields are unchanged.
Fiat amount limits
- Documented the existing
min_amount,max_amount, and per-provider limit fields returned by fiat-currency discovery. - Quote and transaction preparation now reject amounts outside the supported fiat range before requesting provider quotes.
- Provider, payment-method, asset, network, and location-specific limits may be narrower; quote discovery remains authoritative for a complete route.
- Public request fields, response fields, envelopes, and status behavior are unchanged.
Crypto discovery
- Added the optional
type=BUY|SELLquery parameter to the cryptocurrency catalogue; it defaults toBUYwhen omitted. - Cryptocurrency and network results are now filtered using the selected providers’ current onramp and offramp capabilities.
- Quote routing now applies the same directional asset capabilities used by catalogue discovery.
- The cryptocurrency response object structure is unchanged.
Transaction identifiers
- Standardized partner REST transaction responses and webhook payloads on
provider_transaction_id. - Removed
provider_tx_idfrom the public Partner API response contract. The internal storage field is unchanged. - Standardized REST and webhook fee fields as nullable decimal strings with identical companion currency behavior.
Sandbox guide
- Added an end-to-end sandbox guide covering account setup, environment-scoped API keys, Stripe checkout testing, webhook-first transaction status handling, fallback reconciliation, signature verification, and common troubleshooting steps.
- Clarified that
is_bestrepresents quote pricing, not sandbox lifecycle support, and that Stripe must be selected explicitly for the documented end-to-end sandbox test. - Clarified that Sumsub KYB can be tested in sandbox but does not gate Partner API transactions, provider callbacks, or outgoing webhook delivery.
- Clarified that
fiat_amountis the provider-reported base transaction amount and is not reduced by separately reported fee fields. - Corrected webhook verification guidance to include the
X-Timestampheader used in the signedtimestamp.raw_bodyvalue.
Transaction fields
- Standardized
provider_transaction_idas the provider identifier used by REST transaction responses and webhook payloads. - Added
client_feeandclient_fee_currencyto webhook payloads, and addedorki_feeandorki_fee_currencyto REST transaction responses. The partner and Orki fees remain separate values.
API reference
- Documented the standard and validation error response formats and common HTTP status codes.
- Added the Partner API rate limit, response headers, and retry guidance.
- Clarified that the crypto catalogue is direction-neutral, the fiat catalogue defaults to
BUYwhentypeis omitted, and quote discovery requirestype. - Replaced the placeholder support-page description with the current email support channel.
Webhook destination addresses
- Clarified that
recipient_addressis always included in transaction webhook data and is nullable only when no blockchain recipient applies. - Successful BUY processing now preserves the submitted destination when a provider omits the address from its final callback.
- Corrected provider-specific destination mapping and added signed callback processing for previously incomplete provider paths.
Webhook fee reconciliation
- Added
provider_fee_currency,orki_fee_currency, andnetwork_fee_currencyalongside the existing webhook fee amounts. - Clarified that Orki fees are denominated in USD, while provider and network fee denominations can vary by provider and route.
- Existing fee amount fields and event names are unchanged.
Sandbox lifecycle testing
- Clarified that end-to-end sandbox behavior depends on the selected provider’s test capabilities.
- Documented Stripe as a supported path for testing checkout completion, provider callbacks, Orki transaction status updates, and outgoing partner webhook delivery.
- Added the known Stripe test route: EUR to USDC on Ethereum using a credit or debit card.
API request logs
- Restored request logging for authenticated
/api/v1/partnerendpoints. Requests that pass API key and partner-access checks now appear in the account’s API Logs view in the Terminal. - API logs record the request path, HTTP method, response status code, success or failure state, and timestamp. Request and response bodies are not stored in these logs.
- Sandbox and production logs are isolated. A request made through
sandbox.money.orki.iodoes not appear in the production environment’s logs, and vice versa. - This is an observability update only; partner endpoint request and response structures have not changed.
NGN card quotes
- Corrected BUY quote validation for Nigerian naira amounts. Valid
NGNtoBTConmainnetquote requests usingcredit_debit_cardcan now return MoonPay when it is available for the requested amount and route. - Provider availability, exchange rates, and transaction limits remain dynamic and are confirmed during quote discovery.
Environments and paths
- Added the sandbox API base URL:
https://sandbox.money.orki.io. Production remains available athttps://api.money.orki.io. - Standardized partner API documentation on the
/api/v1/partnerbase path in both environments.
API reference
- Corrected the create-transaction and payment-method response examples.
- Removed inactive partner quote-selection and separate SELL quote references. Both BUY and SELL quote discovery use
GET /api/v1/partner/quoteswith thetypequery parameter.
Partner API
- Standardized authentication guidance and examples on the
X-ORKI-API-KEYheader. The partner API does not use theAuthorization: Bearerscheme.
Quotes and providers
- Clarified that Orki does not configure a partner-level destination wallet for ramp purchases. The destination is set per transaction and the selected provider delivers the purchased crypto directly to it.
- Binance BUY quotes require
wallet_address. When it is omitted, Binance is returned as unsupported and cannot be selected for transaction creation. The address is also required when creating the Binance BUY transaction. This does not change SELL quotes or BUY quotes from other providers.
Webhooks
- Added
partner_contextto the webhook data reference. Client-owned API and widget transactions return the supplied value asdata.partner_context, ornullwhen it was omitted. - Aligned webhook event metadata with the documented
transaction.successandtransaction.failednames. Successful payloads usedata.status: "success".