POST /api/v1/currencies

List active assets in the catalog with per-asset precision and capabilities.

POST/api/v1/currenciesAuth optional

Returns the active asset catalog: every currency/network combination the engine will receive or send right now. Aggregator integrations call this on startup and re-poll every 30–60 seconds to pick up operator-side asset toggles.

The body is served from a 30-second server-side cache. Calling more often returns the cached snapshot. The empty-body convention {} is honoured for forward compatibility. No filter fields are accepted today.

Request

Body
(empty body)object
Send {} as the request body. Unsigned callers may omit the auth headers entirely. Signed callers must still HMAC the empty object; the signature is computed over the literal two bytes {}.

Response

200 OK
{
  "code": 0,
  "msg": "",
  "data": [
    {
      "code": "btc",
      "coin": "BTC",
      "network": "Bitcoin",
      "name": "Bitcoin",
      "recv": true,
      "send": true,
      "tag": null,
      "logo": null,
      "color": null,
      "minAmount": null,
      "maxAmount": null,
      "precision": 8
    },
    {
      "code": "usdt_trc20",
      "coin": "USDT",
      "network": "Tron",
      "name": "Tether (Tron)",
      "recv": true,
      "send": true,
      "tag": null,
      "logo": null,
      "color": null,
      "minAmount": null,
      "maxAmount": null,
      "precision": 6
    }
  ]
}
Fields
data[].codestring
Canonical asset id used in every other endpoint (e.g. "btc", "usdt_trc20", "usdc_arb").
data[].coinstring
Trading symbol shown in human-facing surfaces (e.g. "BTC", "USDT").
data[].networkstring
Settlement network name (e.g. "Bitcoin", "Tron", "Arbitrum").
data[].namestring
Long display name for UI rendering.
data[].recvboolean
Always true for entries in this list (assets we accept as deposits).
data[].sendboolean
True when the operator has enabled payouts on the asset’s network. Greyed-out destinations should map to send = false.
data[].tagstring | null
Memo/destination-tag flag for networks that need it. Always null today (no such networks are supported).
data[].logostring | null
Reserved. Always null.
data[].colorstring | null
Reserved. Always null.
data[].minAmountstring | null
Always null. Per-asset minimums depend on a live USD price and would couple this catalog to the rates feed. Call /api/v1/price for current bounds.
data[].maxAmountstring | null
Always null. See minAmount.
data[].precisionnumber
Maximum number of decimal places accepted in amount fields for this asset.

Errors

codemsgHTTPDescription
11UPSTREAM_ERROR503A required upstream is temporarily unavailable. Retry with exponential backoff.

Code examples

# /api/v1/currencies accepts anonymous calls — no signing required.
BODY='{}'
curl -sS -X POST "https://0trace.io/api/v1/currencies" \
  -H "Content-Type: application/json" \
  --data "$BODY"

# Authenticated call (counts toward your rate-limit budget):
APIKEY="rWqZ...Rg"
APISECRET="G1JV...n4"
NONCE=$(openssl rand -hex 16)
SIGN=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$APISECRET" | sed 's/^.* //')
curl -sS -X POST "https://0trace.io/api/v1/currencies" \
  -H "Content-Type: application/json" \
  -H "X-API-KEY: $APIKEY" \
  -H "X-API-SIGN: $SIGN" \
  -H "X-API-NONCE: $NONCE" \
  --data "$BODY"

Rate limit

Weight 1 per call. Unsigned calls bypass the per-partner bucket entirely; signed calls are charged 1 weight unit each.

Notes

The response always carries Cache-Control: no-store so HTTP intermediaries do not double-cache on top of our own server-side snapshot. Treat the 30-second cache window as the only freshness guarantee.

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.

Need help?

Questions? Answers.

A partner integration surface on top of the same exchange engine that powers 0trace.io. You connect with a signed REST contract, query quotes, open orders, and receive webhook notifications. Our liquidity, our pricing, our payouts. You focus on your product.
No. The API is private and invite-only, aligned with the privacy posture of 0trace itself. There is no KYC, no identity collection, and no source-of-funds reporting required of partners or their end users.
Submit a request through our partner application form at 0trace.io/api/contact-sales and we’ll reply within three business days.
Traffic is encrypted in transit (TLS). Every request is signed with HMAC-SHA256 over the exact request body bytes and gated by a nonce-based replay window. Pricing, fees, and payout amounts are computed server-side. Payouts run on an isolated service that re-verifies each transfer against the on-chain deposit before broadcasting.
A per-partner sliding-window weight budget, default 2500 wu/min (≈50 creates/minute). Endpoint weights: /api/v1/create is 50, /api/v1/qr is 5, every other endpoint is 1. XML feeds run on a separate public bucket. Exceeding the budget returns 429 with a Retry-After header. To raise your cap, send your projected per-endpoint call rate to your operator contact.
Two ways to earn. Revenue share: send us traffic with your referral link and earn a share of our service fee on every order — the visitor sees our live rate. Markup: integrate through the API and add your own margin on top of our rate, shown in your own interface. Use either, or both.
Yes. 0trace operates its own liquidity pool across every supported asset and network. Quotes are recomputed server-side at order creation against the live feed. Payouts are direct, with no third-party intermediary.
Bitcoin, Ethereum, BSC, Solana, Tron, Monero, Litecoin, Dash, Arbitrum, Polygon, Optimism and Avalanche — native coins plus the major stablecoins on each network (USDT, USDC, DAI).
Yes. We push signed events for order.status_changed and partner.paid_out; you subscribe to the ones you want in your cabinet.

Reviews

  • OrangeFren
  • Monerica
  • BitList
  • NoToKYC
  • AntiKYC
  • BitMixList
  • xmr.club

Follow us on X for the latest updates.

Subscribe
TermsРусский繁體中文EspañolDeutschTürkçe

Quick answers

Fee and minimum
1%-3% · minimum 0.001 BTC
Processing time
a few minutes
Privacy
No registration and no KYC are required. Order data is deleted as soon as the order completes. The service is reachable over HTTPS.
Supported assets
BTC, ETH, USDT

Frequently asked questions

What is this page about?

This page covers Homepage. Below are the terms of Homepage, a crypto privacy service: fee, minimum amount, processing time and privacy policy.

What does Homepage do?

Homepage is a non-custodial crypto privacy service. It breaks the on-chain link between the address you send from and the address you receive to, so the withdrawn coins cannot be traced back to the deposit.

What are the fees and the minimum amount?

The service fee is 1%-3%; the network fee is charged separately. The minimum accepted amount is 0.001 BTC.

How long does it take?

Processing normally takes a few minutes. A manual delay of a few hours can be added for extra privacy.

Is it anonymous and are logs kept?

No registration and no KYC are required. Order data is deleted as soon as the order completes. The service is reachable over HTTPS.

Which assets are supported?

Supported assets: BTC, ETH, USDT.

How do I stay safe?

Open the site from a bookmark or the official link, never from an advertisement. Check every receiving address character by character, keep the order ID, and split large amounts into several orders.