Market Maker API
In order to receive an API key for market making, please contact the team on X: https://x.com/TunnlExchange
Base URL: https://api.evo.exchange/
All routes below are mounted on /order
(the prefix of orders_blueprint
).
All responses are JSON. Timestamps are Unix seconds unless noted otherwise.
HTTP status codes:
200
– success • 400
– bad input • 403
– auth error • 404
– not found • 500
– server fault
Get orders
GET /order
GET /order
Retrieve active limit orders in the book.
chainid
string (numeric)
✓
EVM chainId
(e.g. 137
= Polygon)
id
string
✓
ERC-20 bytes-32 resource hash. Use "*"
to fetch all markets held by address
.
address
string
–
Restrict results to a single wallet
curl "https://api.evo.exchange/order?chainid=137&id=0xabc..."
Place Orders
POST /order/manual/{api_key}
chainid
string
✓
id
string
✓
deposit_address
string
– (used by on-chain settle helper)
Body (JSON)
order_variant
"LIMIT" | "MARKET" | "STOP" | "CANCELORDER"
✓
order_side
"BUY" | "SELL"
✓ (except CANCELORDER
)
order_price
string-number
✓ except MARKET
Positive
order_size
string-number
✓ except CANCELORDER
Positive
address
checksummed address
✓
margined
boolean
✓
Margin trading currently disabled → must be false
_id
Mongo ObjectId
✓ only when CANCELORDER
Order to cancel
Example – limit BUY
POST /order/manual/{API_KEY}?chainid=137&id=0xabc...
Content-Type: application/json
{
"order_variant": "LIMIT",
"order_side": "BUY",
"order_price": "0.14",
"order_size": "1000",
"address": "0x1d4b…",
"margined": false
}
Successful responses always include msg: "Success"
and the new orderid
.
On a full trade match, the response returns a signed settlement package:
{
"trade_id": "663cf1…",
"token_1": "0x...usdc",
"token_2": "0x...matic",
"buyers": ["0xab…"],
"sellers": ["0xcd…"],
"buy_amnts": ["1000000000000000000"],
"sell_amnts": ["714285714285714285"],
"trade_side": [[true],[false]],
"execution_time": 1718204756,
"sign_r": "0x…",
"sign_s": "0x…",
"sign_v": 27
}
User order history
GET /order/histories
chainid
✓
id
✓ Token hash or "*"
address
✓ Wallet
limit
— default 100
Past trades
chainid
✓
id
✓ Token hash
limit
— max documents (default 9999)
address
— Filter trades involving this wallet
Last updated