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
| Feature | Surface |
|---|---|
| Float-mode crypto-to-crypto swaps | POST /v1/swaps |
| Listing supported currencies (with metadata) | GET /v1/currencies |
| Per-pair min/max | GET /v1/pairs?from=&to= |
| Address syntax validation | POST /v1/addresses/validate |
Quotes with amountUserReceives helper | POST /v1/quotes |
| Idempotency on swap creation | Idempotency-Key header, 24h cache |
| Per-credential rate limiting | 30 RPS with Retry-After |
| Status polling | GET /v1/swaps/:id |
| Org-scoped swap listing | GET /v1/swaps |
| Background status worker | Updates swap rows every 30s |
| Bearer auth | argon2id-hashed secrets, constant-time verification |
| Per-partner liquidity keys | Each partner gets their own upstream key with their fee config; routed automatically |
| Secret recovery | gssk_live_* re-viewable from the dashboard via Reveal secret (audit-logged) |
| Auto-retry on transient upstream | upstream_bad_response and upstream_unreachable retried once internally before surfacing |
| Per-swap commission ledger | USD-locked at swap-finish; visible on /dashboard/earnings |
Coming next (v2)
| Feature | Why it's deferred | Workaround today |
|---|---|---|
Fixed-rate swaps (mode: 'fixed') | Locks rate for ~60s; needs new lifecycle handling | Use float-rate. Quote close to swap creation to minimize drift |
| List all enabled pairs in one call | Per-pair lookup only at v1 | Query 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 lifecycle | These currencies are filtered from /v1/currencies until extraId support lands |
| Outbound webhooks to your server | Polling works; webhooks need signing, retries, dead-letter | Poll GET /v1/swaps/:id |
Test-mode keys (gssk_test_*) | Single environment is simpler for v1; users dev with small live amounts | Use small amounts on live |
| Per-credential IP allowlists | Not yet on by default | Rotate credentials regularly |
| Per-credential method scopes | Read-only and restricted credentials | One credential = full access |
| Last-used IP / user-agent in dashboard | Telemetry only; doesn't affect functionality | Watch last_used_at timestamp |
| CSV export of swaps | Add when partners need it | GET /v1/swaps?limit=100 and paginate |
| Hosted widget | Different product surface; API-first for v1 | Embed your own UI on top of the API |
| Multi-language SDKs (Node, Python, Go) | Code samples are sufficient at v1 scale | Use 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:
- Your
org_public_idfrom the dashboard. - The feature you want.
- Your expected monthly swap volume that depends on it.
We move on the highest-volume blockers first.