/

v2.4.0

Payment Status Tracking & Failure Codes

Every payment on Solvent now has a live status trail from initiation to settlement, visible in real time from the dashboard and via webhooks. This release also introduces failure reason codes with plain-English explanations and estimated settlement times at the point of initiation.

Summarize with AI

Share update

Solvent API v2 is now generally available.

When we started designing v2, the question we kept coming back to was: what would this API look like if we built it knowing everything we know now about how our customers actually use it? The answer required more changes than a minor version bump could accommodate. So we built v2 from the ground up, carrying forward the parts that worked and rethinking the parts that did not.

What Changed

The most significant change is the unified API surface. In v1, payments, accounts, and FX were separate API products with separate authentication flows and separate base URLs. In v2, everything is accessible through a single endpoint with a single API key.

Javascript

1
2
3
4
5
6
7
8
9
# v1 — three separate base URLs
curl https://payments.Solvent.com/v1/payments
curl https://accounts.Solvent.com/v1/accounts
curl https://fx.Solvent.com/v1/rates
 
# v2 — one unified base URL
curl https://api.Solvent.com/v2/payments
curl https://api.Solvent.com/v2/accounts
curl https://api.Solvent.com/v2/fx/rates

Idempotency keys are now supported on all write endpoints. This was one of the most requested features from customers building payment workflows where duplicate requests needed to be handled gracefully.

Javascript

1
2
3
4
5
curl -X POST https://api.Solvent.com/v2/payments \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: pay_request_01jk9m" \
-H "Content-Type: application/json" \
-d '{"amount": 10000, "currency": "GBP", "destination": "acc_01jk4p"}'

SDK Availability

Official SDKs for Node.js, Python, and Go are available today.

Javascript

1
2
3
4
5
6
7
8
# Node.js
npm install @Solvent/sdk
 
# Python
pip install Solvent-sdk
 
# Go
go get github.com/Solvent-finance/Solvent-go

Full SDK documentation is at docs.Solvent.com/sdks.

v1 Deprecation Timeline

The v1 API will continue to receive security patches until March 31, 2026, at which point it will be retired. No new features will be added to v1. The migration guide covers every breaking change and provides side-by-side examples for each endpoint.

New Features

Live payment status timeline — Every payment now has a full status trail visible in the dashboard and via webhooks. See every state transition from initiation to settlement in real time.

Webhook events on every status change — The payment.status_updated event fires on every transition. The payload includes previous status, new status, timestamp, and reason code.

Failure reason codes — Every failed payment now includes a machine-readable reason code and a human-readable explanation. Codes are documented in the error reference.

Estimated settlement times — Payments now display an estimated settlement window at the point of initiation, based on the destination rail and currency.

Improvements

Faster webhook delivery — Webhook delivery latency has been reduced from an average of 800ms to under 200ms across all event types.

Payment search by reference — You can now search payments by your own reference ID directly from the dashboard search bar.

Bulk payment status export — Payment status data can now be exported in bulk as CSV from the Payments index, with optional date range filtering.

Fixes

Fixed: Webhook delivery failures for payments over £500,000 — A rate limiting issue was causing webhook delivery to fail silently for high-value GBP payments. This has been resolved and affected events have been replayed.

Fixed: Incorrect estimated settlement time for KES payments — M-Pesa payments were displaying a 24-hour estimated settlement window instead of the correct near-instant window. This is now corrected.

Create a free website with Framer, the website builder loved by startups, designers and agencies.