Built for developers
The guarantees that matter when money is involved, written into the contract rather than promised.
Idempotency is required
Every request that moves money carries a key you supply. Replaying the same request returns the original response instead of charging twice, which is what makes a retry after a timeout safe.
Signed webhooks
Every notification is signed with HMAC-SHA256 using a secret unique to your account, timestamped, and carries a stable event id for your own deduplication.
Status is confirmed, not claimed
An operator callback is recorded as a claim, never as truth: only a status poll can make a transaction final. You are therefore never left depending on a webhook that went missing.
A versioned contract
Request shapes, response fields and error codes are contractual. You branch on stable codes and render your own messages, in your own language.
Technical documentation is published in English — the language our integrators read code in, where a translation lagging behind would mislead more than an up-to-date English page.