A simple order book implementation with HTTP API for managing orders and matching trades.
- Order placement and cancellation
- Order book snapshots
- Best bid/ask queries
- Order matching engine
- Real-time trade execution
- Start the server:
go run cmd/api/main.go- Place an order:
curl -X POST http://localhost:8080/orders/place \
-H "Content-Type: application/json" \
-d '{"side": "BUY", "price": 100.0, "amount": 1.0}'POST /orders/place- Place new orderDELETE /orders/cancel- Cancel existing orderPATCH /orders/modify- Modify orderGET /orderbook/snapshot- Get orderbook stateGET /orderbook/best-bid- Get best bidGET /orderbook/best-ask- Get best askPOST /orders/process- Process order
Priority items:
- Better Performance Implementation
- Add authentication
- Add logging system
Future enhancements:
- Add persistence layer
- Implement websocket for real-time updates
- Support for different order types (market, limit)
- Trade history