Skip to main content

JupiterZ v2

JupiterZ v2 (internally, RFQ v2) is Jupiter's streaming Request-for-Quote system for market makers on Solana. Market makers connect over gRPC, continuously stream priced orderbooks, and settle user swaps on-chain through Jupiter's Order Engine program — reviewing and co-signing each fill (last look) before it lands.

This section is the integration reference for market makers. It is written against the shipped code in the rfq-v2-sdk (Rust and Python SDKs) and the market-maker-ingestion-service that your SDK connects to.

JupiterZ vs RFQ v2

"JupiterZ" is the product/consumer brand; "RFQ v2" is the technical name for the same system. This documentation uses RFQ v2 when talking about the protocol and SDKs.

Two generations, side by side

V2 does not replace V1 — they run concurrently, and you can integrate with either or both.

V1 (webhook)V2 (streaming)
TransportHTTP webhooks (Jupiter calls you per request)Persistent bidirectional gRPC streams (you push continuously)
QuotingCold start on every request; respond within a deadlineQuotes served from an in-memory orderbook cache; you set your own cadence
Quote ↔ swapSame webhook for bothDecoupled: a quote stream and a separate swap stream
Pricing modelCompute per requestStream multi-level orderbooks (bids/asks) ahead of time
SettlementOrder Engine program (on-chain)Same Order Engine program (unchanged)

The V1 webhook documentation covers the webhook flow. The rest of this section is V2 only.

Documentation map

  • Overview — what RFQ v2 is, the streaming model, and what you need to integrate.
  • Getting Started — credentials, installing the Rust or Python SDK, and your first connection.
  • SDK Integration — the full quoting and swap loop with the official SDKs.
  • Last Look & Maker Safety — validating and co-signing fills, and the on-chain guards that protect your funds.
  • gRPC API Reference — the protobuf contract, encoding rules, authentication, and server-side validation.
  • Testing — the SDK end-to-end suite, unit tests, and the pre-production checklist.

Architecture

A market maker keeps two long-lived gRPC streams open to the ingestion service. Quotes flow into an in-memory orderbook cache that Jupiter's quote layer reads when a user asks for a price; when the user signs, the swap is pushed back to the market maker for last look.

The two market-maker streams (quotes in, swaps out) run to the ingestion service, which caches orderbooks for Jupiter's quote layer and settles co-signed fills on-chain. The step-by-step ordering is in the end-to-end flow below.

End-to-end flow

The swap stream must be open before you quote

The ingestion service rejects every quote from a maker that does not have a live StreamSwap connection. Open your swap stream first, then start quoting. See SDK Integration.

Next steps

Start with the Overview to understand the model, then follow Getting Started to connect.