Settlane
A stablecoin payment gateway. Take USDT on Tron and USDC on Ethereum, pay out USDT on either, and never touch a private key.
Money is integers and there is no FX rate anywhere. A stablecoin is 1:1 with the dollar here, so an amount is US cents on the way in and a token amount in base units on the way out — no rate, no spread, no rounding decision anyone has to make.
Start here
| Quickstart | Create an invoice, receive the webhook, credit the customer. Plain HTTP; its code is run by a test. |
| Webhooks | The delivery shape, the signature algorithm written out, a worked example, and every event type. |
| Payouts | Sending money out, and why it goes through a policy and often a person. |
| Identity verification | Verify a customer's identity before you pay them out. |
| Errors | Every code a /v1 call can return, and what to do about it. |
| API reference | Every route with examples, and the OpenAPI file to download. |
| Before you go live | The checklist for your own integration. |
The shape of an integration
Three calls and one webhook:
POST /v1/invoices— one order. You get an address that belongs to it for ever and the exact token amount to ask for.- Show the customer the address, or hand them the hosted page and build no screen at all.
invoice.paidarrives, signed. You verify it and credit the order.
Payouts are the mirror: POST /v1/payouts and then payout.completed — with a policy, a screening and usually an approval in between, because sending money out is not symmetrical with taking it in.
Two modes, one surface
A sk_test_ key sees only test-mode objects and creates only test-mode objects. A sk_live_ key is the reverse. There is no way to cross that line with one key. Test-mode webhooks arrive at the same endpoint carrying "livemode": false.
What a test key can do today. A sk_test_ key can read, create and update customers, list assets, and send you a test webhook with POST /v1/webhook_endpoints/{id}/test. It cannot create an invoice or a payout yet: production has no test-mode wallets, so POST /v1/invoices answers 409 CONFLICT, and a test identity check stays pending. Build and rehearse with a live key and small amounts (one US dollar is enough).
How these pages are kept correct
The API reference, the error codes and the status tables are generated from the API's own code. The quickstart's code and the worked signature example are run by tests on every change. Everything else is written by hand.
Questions: [email protected].