Skip to content

docs: [swap] add JupiterZ standalone API and port RFQ docs - #946

Open
0xYankee wants to merge 10 commits into
mainfrom
feat/jupiterz-docs
Open

docs: [swap] add JupiterZ standalone API and port RFQ docs#946
0xYankee wants to merge 10 commits into
mainfrom
feat/jupiterz-docs

Conversation

@0xYankee

@0xYankee 0xYankee commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Ports the JupiterZ/RFQ documentation from the retired jup-ag/rfq-docs Docusaurus site (jupiterz.jup.ag) into this repo, which is now the only maintained home for JupiterZ docs. Documents the new standalone JupiterZ API at https://api.jup.ag/swap/v2/jupiterz (GET /order, GET /global-order, POST /execute) with an OpenAPI spec and API reference pages, and streamlines the market-maker integration docs (docs own process/architecture/operations; code mechanics defer to the public rfq-webhook-toolkit and rfq-v2-sdk repos, same split as the Metis AMM integration page).

Changes

  • New "JupiterZ (RFQ)" group in the Swap menu (under Router): swap/jupiterz/index.mdx docs page (auth, lifecycle quickstart in kit + web3.js, indicative quotes, global order, execute states with safe re-polling, errors) + openapi-spec/swap/v2/jupiterz.yaml + 3 api-reference/swap/jupiterz/* pages.
  • V1 MM webhook docs split into 4 pages under swap/routing/rfq/v1/: overview (landing: what it is, V1-vs-V2, integration process, onboarding), webhook-api (endpoints, response codes, timeouts, token advertising, IDs), quoting (fulfillment, expiry, fees, payload), settlement (Order Engine, Squads takers, circuit breaker, testing, FAQ). Full V1 content ported and condensed; the "for latest info see jupiterz.jup.ag" note is gone; Telegram contacts replaced with the support form + Discord.
  • New swap/routing/rfq/v2/streaming.mdx "Streaming Integration (V2)": the gRPC streaming model (protocol rules, encoding, last look and maker safety, lifecycle/circuit breaker), mechanics deferred to rfq-v2-sdk. Kept as one page.
  • Version-scoped routing slugs: swap/routing/amm/* (Metis AMM integration, integration + market-listing, retitled DEX → AMM) and swap/routing/rfq/v{1,2}/* (JupiterZ MM integration). Chosen so future versions/pages slot in without URL changes. Old slugs (dex-integration, market-listing, rfq-integration, rfq-streaming) redirect to the new URLs; the three old /routing/* redirects were repointed directly to the final URLs to avoid chains.
  • Routing Integration nav regrouped into nested "Integrate AMM into Metis" and "Integrate MM into JupiterZ (RFQ)" sub-groups.
  • Cross-links updated in swap/index.mdx (standalone access path + endpoint table) and swap/order-and-execute.mdx; .claude/rules/ updated (style guide: JupiterZ + AMM naming, no lite-api rule; product-learning: new JupiterZ section; decisions: IA entry); llms.txt regenerated.

Source-verification notes (reviewer)

  • The standalone API is now live and verified in prod (after the gateway tailnet fix, developer-platform PR feat: root path docs #645). Confirmed with a whitelisted key on api.jup.ag/swap/v2/jupiterz: GET /order returns a full quote with provider; GET /global-order (param outputMint, singular, comma-separated) returns the best-USD leg and 400s past the 3-mint cap; keyless → 401. feeBps was removed from the spec (platform-fee concept, not integrator-set); integratorTokenAccount must be pre-initialised (documented). Publishing/announcement still coordinated with the RFQ team.
  • Corrections vs the rfq-docs source: the route is /global-order (singular); the candidate mint cap is 3 in prod (MAX_OUTPUT_MINTS=3, rfq PR Add Trenches and mark Ape as deprecated #612), not 5; quote expiry documented as 55s TTL + 25s fill buffer (both old "35/20" and "20/35" splits were stale); 0x11 (frozen account) added to error codes.
  • Deliberately NOT ported: the rfq-docs Stats section — stats/overview.md is a "docs being rewritten" placeholder and rfq_stats.md documents a localhost:8080 RFQ indexer API orphaned from every sidebar. Fresh docs are needed if a public stats API ships.
  • Follow-ups outside this repo: retire/redirect jupiterz.jup.ag to these pages; repoint rfq-webhook-toolkit/rfq-v2-sdk READMEs at developers.jup.ag.

Linear Issues

  • Fixes BUILD-812 — jupiterz standalone api

Checklist

  • node generate-llms-from-docs.js run
  • mint broken-links passes
  • node check-redirects.js passes (no conflicts/chains)
  • All pages have title, description, llmsDescription
  • docs.json navigation updated
  • Redirects added (routing slugs version-scoped; old slugs redirect to new URLs)
  • Changelog entry added to the current month's post in the developer-platform repo (companion PR)
  • .claude/rules/ updated with learnings and decisions

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mintlify

mintlify Bot commented Aug 14, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Jupiter 🟢 Ready View Preview Aug 14, 2026, 9:37 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0xYankee and others added 2 commits August 17, 2026 13:54
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…Metis)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0xYankee and others added 3 commits August 17, 2026 14:16
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…uting slugs

Split the loaded V1 webhook page (16 topics, 177 lines) into a landing plus
Webhook API, Quoting and fills, and Settlement and special cases. V2 streaming
stays one page.

Move the swap/routing/ sub-tree to version-scoped slugs so URLs never need
changing again: amm/* for Metis AMM integration, rfq/v1/* and rfq/v2/* for
JupiterZ MM integration. Add redirects for the four pre-existing/preview URLs
and repoint the three old /routing/* redirects directly to the final URLs to
avoid chains. Update all internal cross-links and the moved #order-engine anchor.

Refinement of BUILD-812 (same PR #946).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The V1 sub-pages sat flat next to the V2 page, so it was unclear they
belonged to V1. Nest the four V1 pages under a "Webhook (V1)" group and the
V2 page under "Streaming (V2)", and set both landing pages' sidebarTitle to
"Overview" so they don't repeat the group name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant