Beta

Private crypto exchange API.

Quote, create, get paid. Three signed calls, three webhook events, one production exchange behind them. Invite-only.

Hit the same button twice. Get the same order.

Every create call honours an Idempotency-Key, so a network blip never opens two orders. Same key + same body returns the original order. Same key + different body returns 409.

Webhooks deliver one event per status change — even when the order races NEW to DONE in three seconds. The status is frozen at queue time, so a slow delivery never carries a stale value.

Quote an exchange with one HTTP call.

POST /api/v1/price returns a quote in three languages. Sign the exact bytes you send. Quotes are recomputed per request against live rates; a 30–60 s polling cadence is comfortable. markupBps is echoed back so you can reconcile billing. Unauthenticated callers see the base rate; signed callers see their own.

# Request a quote for 0.01 BTC -> USDT (Tron) with a 0.5% partner markup.
APIKEY="rWqZ...your-api-key...Rg"
APISECRET="G1JV...your-api-secret...n4"
NONCE=$(openssl rand -hex 16)
BODY='{"type":"float","fromCcy":"btc","toCcy":"usdt_trc20","direction":"from","amount":"0.01","afftax":50}'
SIGN=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$APISECRET" | sed 's/^.* //')

curl -sS -X POST "https://0trace.io/api/v1/price" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $APIKEY" \
  -H "X-API-SIGN: $SIGN" \
  -H "X-API-NONCE: $NONCE" \
  --data "$BODY"

What you get on day one.

Multiple reference codes

Run up to 50 codes from one integration. Each code has its own markup — perfect for splitting traffic between a desktop app, a widget, and an embedded checkout, with separate billing per channel.

Referral links

Send traffic at /r/{code} with the swap direction encoded in the URL. Visitors land pre-filled; orders earn per-code markup automatically.

Webhooks

Every status transition is delivered as a separate event. Signed, deduplicated, retried on a four-step ladder.

XML rate feeds

Public rate exports at canonical URLs with byte-identical aliases. Unauthenticated, with min and max amounts per pair.

Partner cabinet

Self-serve dashboard at /partner/login. Rotate keys, manage reference codes, review payout history without contacting us.

Self-rotation

POST /v1/keys/rotate rotates apiSecret and webhookSecret in one call. The old secret is invalidated immediately.

Pay-as-you-trade. No idle subscription.

You collect the markup you set on every order. No flat platform fee. High-volume partners can negotiate a share of the base service fee at onboarding.

Default

Your markup on top of ours.

Default for every partner. Set your markup (0–20 %, in basis points) on every quote and create; we re-quote and sign the rate. You keep the markup, we keep the base fee. No volume commitment, no contract.

Revenue share

Select partners split the base fee.

A configurable share of the base service fee, set on your partner record at onboarding. Terms live in your contract, not in your request payload. Stack it with your own markup.

Partner API.
Same engine as 0trace.

A private partner integration surface. Signed quotes, server-side pricing, webhook delivery, multiple reference codes, and a self-serve cabinet — all backed by the production exchange engine.

Support

Questions? Answers.

Get the latest updates

Follow us on X

The 0trace team will never ask for KYC or AML. We retain no logs, metadata, or tracking cookies.

Learn more