Skip to main content
All reference implementations live in InjectiveLabs/injective-rfq-toolkit. Start there before copying snippets from the docs into a production service.

Which example to use


Python WebSocket / gRPC-web

Recommended validation command:

Python native gRPC

Use native gRPC when your runtime can keep long-lived gRPC streams open cleanly and you do not need WebSocket/gRPC-web framing.
Maker entry point:

TypeScript

The TypeScript reference focuses on native gRPC transport and EIP-712 v2 signing with ethers.
Use it as a signing and stream-shape reference. The Python toolkit remains the most complete executable harness for full testnet validation.

Go

The Go reference demonstrates native gRPC maker connectivity and quote submission.
Use the Go example for transport and protobuf wiring, then cross-check signature fields against Building and signing quotes.

What to copy into production

Copy patterns, not test constants:
  • Load chain ID, EIP-712 chain ID, contract address, and endpoints from config.
  • Reuse the SignQuote field order exactly.
  • Send the exact decimal strings that were signed.
  • Answer the MakerStream auth challenge before expecting RFQ requests.
  • Treat quote_ack as routing confirmation, not a fill.
  • Filter maker requests by taker address plus the ACK-returned rfq_id; taker quote collection can use the ACK-returned rfq_id within a single-taker stream.
  • Log rfq_id, client_id, quote expiry, maker subaccount nonce, quote ACKs, and settlement updates.
For endpoint values, see Testnet configuration. For operational validation, see Runbook.
Last modified on June 2, 2026