You will have to tell your
users something true.
Anyone can hand you a private swap. Almost nobody can hand you a sentence about it that survives your users checking it. This page is the sentence: what the API does, exactly what an order leaves behind, and what you are and are not allowed to say about us.
The endpoints themselves live on /api, with an OpenAPI spec. Start there; nothing on this page is needed to make your first call.
Four calls, no accounts.
Ask for a price on a pair and an amount. Dry: it never creates an order and never touches the venue's book. The fee and the venue's name are both in the answer.
Create one and you get an id. There are no accounts, so the id is the credential. Treat it as a secret on your side.
The venue issues a one-time deposit address. Your user sends to it. DarkRoute never holds the funds and cannot reverse them.
The route fills and the destination address receives. Status is on the order call, or we can call you when webhooks land.
A key buys a relationship, not access.
Every route is public and stays that way. We said so on /api before keys existed, and a promise that only holds until it becomes inconvenient is not one. So a key is not a gate. It is what makes you a partner rather than an anonymous caller.
POST /order needs a key. Quoting, prices, the pool index and every read do not, and never will: those you can call right now without speaking to anyone.
Orders created with your key are tagged to you. This is what any revenue share or rebate would be calculated from.
Public routes are limited per IP because we do not know who is calling. With a key we do, so the limits move.
The orders your key created, for your support desk. Never anyone else's, and never orders from another partner.
We list integrations under their real name, the same way we name the venue on every quote.
Only POST /order. Quotes, token prices, the pool index, supply and every status call stay open to anyone, at the public rate limits.
A key widens what you can do with your own traffic. It never widens what you can see of anyone else's.
The claims policy is the reason the key is revocable. That is the whole leverage and we intend to use it.
There is no self-serve form. Tell us what you are building and where our swap would sit in it, and we will answer with a key or with a reason. Keys are issued one at a time, by hand, and they are revocable.
[email protected]Send the key as a header, never in a URL: Authorization: Bearer <key>. URLs end up in server logs, proxy logs, browser history and Referer headers, and a key that reaches any of those is a key you have to replace.
What an order leaves behind.
Copy this into your own privacy page if it is useful. It is written to be pasted rather than paraphrased, because a partner paraphrasing a privacy claim is how a small overstatement becomes a large one.
- Order id
- Random, 48 bits. The only credential that exists.
- Assets and chains
- What was swapped, from where, to where.
- Amounts
- Input, estimated output, minimum accepted, and the USD value at quote time.
- Three addresses
- Recipient, refund, and the venue's one-time deposit address.
- Status and the venue's reply
- So the tracking page can answer, and so support has something to read.
- Wallet address, only if your user signed in
- Signing in is optional and only powers the rewards ledger. Skip it and this is null.
- Fee charged
- The number already printed on the quote.
- No name, no email, no KYC
- We never ask, so there is nothing to lose.
- No IP, and no hash of one
- We kept a truncated hash of the caller's IP on every order until 15 September 2026. Nothing read it, and hashing an IP is not anonymising one: the whole IPv4 space is 4.3 billion addresses, so matching the hashes back is minutes of work. It sat in the same row as the recipient address, which made it a way to connect a person to a transaction. The column is gone.
- No account
- There is nothing to create and nothing to delete.
- No analytics on the app
- The router has no third-party scripts. Nothing on it phones anywhere about your users.
What you may say about us.
This list is binding on anyone holding a key, and it is the reason keys are revocable. It is short because the true claims are short.
- ✓No account and no KYC.
- ✓Non-custodial: the deposit address belongs to the venue, not to DarkRoute.
- ✓The order does not appear on a public order book.
- ✓A one-time deposit address per order.
- ✓The venue is named, and the fee is printed, on every quote before any deposit.
- Anonymous
An order record exists and the table above says what is in it. Anonymity is a claim we cannot back, so neither can you.
- Untraceable
Every leg of the swap is on a public chain. We do not obscure it and cannot.
- No logs
We keep the order record listed above. Saying otherwise on our behalf is the fastest way to lose a key.
- Zero knowledge, mixer, tumbler
None of these describe what this is. They describe things that attract a different kind of attention, and we are not renting our name to them.
Four things that do not move.
0.3% of the input, on the quote. If your integration hides it from your user, that is your choice and your problem, not a fault in the number.
If you add a margin on top, it has to be visible in the quote your user sees, as a separate figure. Our entire position is that a quote names the venue and prints the fee. We are not going to hand out an API that makes us the thing we criticise.
Anyone holding it can read that order's status and deposit address. Do not put it in a URL you log, and do not put your key in one either: send the key as a header.
Since 8 September we have settled a few hundred dollars of volume. If you need reach, we are not it yet. If you need a claim that survives your users checking it, that is what this page is.
/api promised that keyless access would stay when keys arrived. Creating an order now needs one. We would rather write that sentence than let the old promise quietly rot on a page nobody rereads, and everything except order creation stayed open.
Found a hole in any of this? /security says where to send it, and every paid report is published in full at /security/reports, including the parts that do not flatter us.