2.0.0 marks the v2 migration release. If you are upgrading from v1, see the Migration Guide for step-by-step upgrade instructions.2.5.0 - 2026-05-27
Added- KYC helpers:
ApiClient.createKYCLink()creates an identity-verification link for an organization, andApiClient.getKYCStatus()retrieves the current KYC and terms-of-service status.
- Signed organization methods:
ApiClient.listPayOrders(),ApiClient.listWithdrawals(), andApiClient.createWithdrawal()now requireapiSecretas an argument. Server integrations that call these methods must pass the API secret from server-side code.
2.4.6 - 2026-05-27
Added- PayKit Headless (Preview): Added
@coin-voyage/paykit-headlessfor server and agent runtimes that need to satisfy CoinVoyage x402PAYMENT-REQUIREDchallenges. Sui x402 signing is supported through this package. - Order status WebSocket hook: Added
useOrderStatusWS()for React integrations that need live backend PayOrder events outside the default PayButton UI. - Backend API access: Added
useBackendApi()for advanced PayKit integrations that need direct access to the configured API client. - ApiClient helpers: Added
currencySearch(),portfolio(),listPayOrders(),listBankAccounts(),getBankAccount(),addBankAccount(),listWithdrawals(), andcreateWithdrawal(). - Organization-wide WebSocket subscriptions:
ApiClient.subscribeOrderStatus()can now subscribe to all organization PayOrder events when called with a server-generated authorization signature forGET /ws.
- Quote filters:
PayOrderQuoteParamsnow acceptschain_idsinstead of a singlechain_id. - Swap requests: Swap requests now support
payment_railand nestedcryptoinput options, includingsource_currency,sender_address, andslippage_bps. - Route quote field: Route quote responses use
quote_id. - Payment details: Payment details now use the shared
PaymentDataBaseshape for rail-specific payment instruction data.
- PayButton order creation errors: Backend order-creation failures are now surfaced to consumers.
- PayButton lifecycle callbacks: Payment lifecycle callbacks continue working across multiple orders for the same button.
resetOnSuccessbehavior: Successful payments reset payment state when configured.- EVM transaction errors: User-facing EVM transaction errors are clearer.
- Desktop WalletConnect: Desktop WalletConnect routes through the QR flow correctly.
2.4.1 — 2026-04-08
AddedPARTIAL_PAYMENTstatus: A new terminal state for PayOrders that receive an insufficient amount. Use this status to detect and handle partial-payment outcomes in your order fulfillment logic.PayOrderPartialPaymentEvent: A new event type so you can explicitly handle partial-payment outcomes in your event flows.
2.4.0 — 2026-04-04
Added- Stripe on-ramp integration: Full Stripe fiat-to-crypto on-ramp support, including geo-blocking for restricted regions.
PaymentStepsmodel: Tracks granular payment progress across stages such as on-ramp, swap, and delivery.- Payment methods endpoint:
GET /pay-orders/{payorder_id}/payment-methodsreturns available payment methods for a given PayOrder. - Organization settings in PayOrder responses:
Organization.settingsis now a JSON field and is returned inGET /pay-ordersandGET /pay-orders/{payorder_id}responses. hosted_urlfield: Added toGET /pay-ordersandGET /pay-orders/{payorder_id}responses so you can link customers directly to the hosted pay page.
- Webhook payload coverage:
payorder_errorandpayorder_refundedevents now include the fullpayment_dataobject. - PayKit payment handling: The widget now consumes
payment_data.steps, supports organization settings, and exposes location-aware payment method options. - SDK request and response models: Added
metadatasupport toClaimFeesRequestandSwapQuoteRequest, updated order event types andClaimFeeResponse, and expandedApiClientto acceptOpts. - EVM prefunding flow: Improved prefunding across CCTP, Direct, Relay, and Uniswap providers with better gas estimation, prefund calculation, and error handling.
- Webhook subscription filtering: Webhook deliveries now correctly respect each subscriber’s registered event types.
- Payment state persistence: Improved handling of
payment_dataso the correct exchange state is always persisted throughout the payment flow. - Refund PayOrder client flow: Fixed
createRefundPayOrderhandling inApiClient. - WalletConnect desktop routing: Desktop WalletConnect flows now route through the QR flow correctly.
- Deprecated
RequestData/requestfield: Removed fromPayOrderResponse. - Legacy transaction hash aliases: Removed
SourceTransactionHashandDestinationTransactionHashalias fields.
2.0.0 — 2026-01-28
Added- List Pay Orders endpoint:
GET /pay-ordersretrieves all pay orders for your organization with pagination and status filtering. - Quote breakdown transparency: Quotes now expose detailed fee breakdowns including
base,fees,gas, andtotal. - Multi-provider execution tracking:
payment.executiontracks execution status across multiple providers. ApiClientconstructor options: AddedsessionIdandversionoptions.- Dedicated PayOrder helpers:
createDepositPayOrder()andcreateSalePayOrder()provide clearer intent for each payment flow.
- API base URL: Updated to
https://api.coinvoyage.io/v2/. - Response structure: Flat fields moved into nested
paymentandfulfillmentobjects. - BigInt handling:
raw_amountfields now return strings instead of numbers to prevent precision loss. - Authorization signature:
generateAuthorizationSignature()now uses HMAC-SHA256 and requiresmethodandpath. - Sale and refund authorization:
createSalePayOrder()andcreateRefundPayOrder()now acceptapiSecretdirectly instead of a pre-generated signature. - Webhook event naming: Webhook subscriptions use uppercase
ORDER_*identifiers; delivered payloads use lowercasepayorder_*values in thetypefield.
- Process endpoint:
/pay-orders/{payorder_id}/processhas been removed. Payment processing now happens automatically when funds are detected.
- Top-level response fields:
source_currency,source_amount,destination_currency,destination_amount,deposit_address,receiving_address,refund_address, andexpires_atare deprecated at the top level. Use the corresponding nested fields inpaymentandfulfillmentinstead.
0.1.25 — 2025-11-04
Added- Phantom wallet (EVM): Users can now connect an EVM wallet through the Phantom browser extension.
0.1.24 — 2025-10-29
Added- German localization: Display the PayKit modal in German by specifying the
de-DElanguage in your widget configuration.
ApiClientresponses: AllApiClientmethods now returnAPIResponse<T>for a consistent response shape.
0.1.23 — 2025-10-21
ChangedWalletProviderprops: Updated property names and nesting structure. Review yourWalletProviderconfiguration if you pass custom props.
0.1.22 — 2025-10-17
Added- Stable Testnet support: Added support for the Stable Testnet network so you can test integrations without using mainnet funds.