Roadmap

The GhostSwap Partners API surface today and what's queued for v2. We optimize for shipping a tight v1 surface that works end-to-end before broadening.

What's live today

FeatureSurface
Float-mode crypto-to-crypto swapsPOST /v1/swaps
Listing supported currencies (with metadata)GET /v1/currencies
Per-pair min/maxGET /v1/pairs?from=&to=
Address syntax validationPOST /v1/addresses/validate
Quotes with amountUserReceives helperPOST /v1/quotes
Idempotency on swap creationIdempotency-Key header, 24h cache
Per-credential rate limiting30 RPS with Retry-After
Status pollingGET /v1/swaps/:id
Org-scoped swap listingGET /v1/swaps
Background status workerUpdates swap rows every 30s
Bearer authargon2id-hashed secrets, constant-time verification
Per-partner liquidity keysEach partner gets their own upstream key with their fee config; routed automatically
Secret recoverygssk_live_* re-viewable from the dashboard via Reveal secret (audit-logged)
Auto-retry on transient upstreamupstream_bad_response and upstream_unreachable retried once internally before surfacing
Per-swap commission ledgerUSD-locked at swap-finish; visible on /dashboard/earnings

Coming next (v2)

FeatureWhy it's deferredWorkaround today
Fixed-rate swaps (mode: 'fixed')Locks rate for ~60s; needs new lifecycle handlingUse float-rate. Quote close to swap creation to minimize drift
List all enabled pairs in one callPer-pair lookup only at v1Query pairs individually with from and to
extraId on swap creation (XRP, XLM, EOS, IOST, STEEM, STX)Adds destination-tag handling at every step of the lifecycleThese currencies are filtered from /v1/currencies until extraId support lands
Outbound webhooks to your serverPolling works; webhooks need signing, retries, dead-letterPoll GET /v1/swaps/:id
Test-mode keys (gssk_test_*)Single environment is simpler for v1; users dev with small live amountsUse small amounts on live
Per-credential IP allowlistsNot yet on by defaultRotate credentials regularly
Per-credential method scopesRead-only and restricted credentialsOne credential = full access
Last-used IP / user-agent in dashboardTelemetry only; doesn't affect functionalityWatch last_used_at timestamp
CSV export of swapsAdd when partners need itGET /v1/swaps?limit=100 and paginate
Hosted widgetDifferent product surface; API-first for v1Embed your own UI on top of the API
Multi-language SDKs (Node, Python, Go)Code samples are sufficient at v1 scaleUse our llms-full.txt and fetch

Found something we should prioritize?

We weight roadmap items by partner volume. If a feature is blocking you, email support@ghostswap.io with:

  1. Your org_public_id from the dashboard.
  2. The feature you want.
  3. Your expected monthly swap volume that depends on it.

We move on the highest-volume blockers first.