SDKs and clients

There is no published client library. Not in any language, not on this deployment. Saying so is more useful than a page listing packages that do not exist.

The API is plain HTTP and JSON. A useful client is about forty lines, and the parts worth getting right are below.

What a client should do

Read the refusal, not just the status

Every refusal carries a code and a retry field. The retry field is machine-readable and says whether asking again can possibly help: NEVER, WITH_BACKOFF, or AFTER_HINT.

A client that retries on NEVER hammers an endpoint over a request that cannot succeed.

Keep amounts as strings

Balances and payment amounts are integer counts of the smallest unit, as strings. Parsing one into a double rounds any wei value above 253, and the bug appears only for large balances — which are the ones that matter.

Carry the request id

Every response has one. Log it beside your own correlation id, and a support conversation becomes one message instead of four.

Do not retry against a second provider

If a read is refused, the answer is that it was refused. Asking somewhere else until something answers is shopping for the answer you wanted, and it is the failure this API is built to avoid.

Minimal clients

The quickstart has working curl, TypeScript and Python. They are executed against the live deployment as part of qualification, so they work as written rather than as remembered.

The machine-readable reference

An OpenAPI document describing the public routes is at the API reference. Generate from that rather than from this page.

Quickstart → · The error model →