Practical overview
When it fits
Use Matchbook when building or integrating Solana order-book exchange functionality and you need documented market-data interfaces, transaction-building endpoints, or SDKs.
Who it is for
- Developers building Solana exchange applications or trading interfaces
- Teams creating trading bots or market-making tools
- Rust and TypeScript developers integrating with an on-chain order book
Documented uses
- List markets and retrieve order-book snapshots and recent trades through REST endpoints
- Receive live order-book, trade, and ticker updates over WebSocket
- Build transactions to place or cancel orders through the documented REST API
- Integrate trading workflows using the Rust or TypeScript SDK examples
- Develop and deploy the on-chain program locally using the documented toolchain
Requirements & limits
The repository is public and identifies the project as open source; its README displays an MIT license badge.
- The project is infrastructure, so application teams must build their own user-facing trading interface.
- The documented architecture separates the on-chain program from the API, WebSocket service, Geyser indexer, and database.
- The README lists Rust 1.75+ and Solana CLI 1.18+; Node.js 18+ is listed for the TypeScript SDK, and Docker for local development.
- The user-orders WebSocket channel is identified as authenticated.
- The repository describes the design as non-custodial, with users maintaining control of funds.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Prepare a local Matchbook development environment
Follow the repository’s documented local-development outline through localnet deployment.
Before you start
- Rust 1.75 or later
- Solana CLI 1.18 or later
- Docker for local development
Steps
Clone the repository and change into its directory.
Start the local infrastructure with the documented Docker Compose file.
Build the on-chain program with cargo build-sbf.
Run cargo test --all-features.
Start solana-test-validator and deploy the program to localnet.
Expected outcome
A local development setup with the on-chain program deployed to a local Solana validator, following the README’s workflow.
Guide limitations
- The steps describe the repository's local-development workflow and do not establish deployment to a public network.
- Node.js 18 or later is listed for the TypeScript SDK, not as a requirement for this local Rust workflow.
Use the documented Rust SDK order workflow
Retrieve markets and submit a limit order using the Rust SDK example.
Before you start
- Rust 1.75 or later
- A Matchbook API URL
- A market returned by the client
Steps
Create a matchbook_sdk Client with the API URL shown in the README.
Call get_markets to retrieve markets.
Pass a market address, side, price, quantity, and limit order type to place_order.
Expected outcome
The example obtains market data and submits a limit-order request, then prints the returned transaction signature.
Guide limitations
- The example uses markets[0] and provides no handling for an empty market list.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- joaquinbejar/matchbook · Official homepage title · retained in its source language

