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

Retrieve active limit orders in the book.

Query param
Type
Required
Notes

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..."
200 Response

[ { "order_price": "0.1350000000", "order_size": "12.5", "order_side": "SELL", "order_variant": "LIMIT", "symbol": "wMATIC", "token_address": "0xabc…", "timestamp": 1718204671 } ]

Place Orders

POST /order/manual/{api_key}
Query param
Type
Required

chainid

string

id

string

deposit_address

string

– (used by on-chain settle helper)

Body (JSON)

Field
Type
Required
Validation

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
Param
Required
Notes

chainid

id

✓ Token hash or "*"

address

✓ Wallet

limit

— default 100

Past trades

Param
Required
Notes

chainid

id

✓ Token hash

limit

— max documents (default 9999)

address

— Filter trades involving this wallet

Last updated