Query open orders for a wallet across all Manifest markets. Returns decimal-adjusted values.← Back to Overview
const MANIFEST_ORDERS_URL = "https://manifest-orders.fly.dev";
const wallet = "YourWalletPubkey...";
const response = await fetch(
${MANIFEST_ORDERS_URL}/v1/orders?owner=${wallet}
);
const { orders } = await response.json();
for (const order of orders) {
console.log(
${order.side} ${order.size} @ ${order.price} on ${order.market} (cid: ${order.clientOrderId})
);
}
use serde::Deserialize;
#[derive(Deserialize, Debug)]
struct Order {
market: String,
#[serde(rename = "baseMint")]
base_mint: String,
#[serde(rename = "quoteMint")]
quote_mint: String,
#[serde(rename = "clientOrderId")]
client_order_id: Option<u64>,
#[serde(rename = "sequenceNumber")]
sequence_number: u64,
price: f64,
size: f64,
side: String,
#[serde(rename = "orderType")]
order_type: String,
#[serde(rename = "lastValidSlot")]
last_valid_slot: u64,
}
#[derive(Deserialize)]
struct GetOrdersResponse {
orders: Vec<Order>,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let wallet = "YourWalletPubkey...";
let client = reqwest::blocking::Client::new();
let resp: GetOrdersResponse = client
.get(format!("https://manifest-orders.fly.dev/v1/orders?owner={wallet}"))
.send()?
.json()?;
for order in &resp.orders {
println!("{} {} @ {} on {}", order.side, order.size, order.price, order.market);
}
Ok(())
}
| Parameter | Type | Required | Description |
|---|---|---|---|
owner | string | Yes | Base58 public key of the wallet to query orders for. |
{
"orders": [
{
"market": "BcC2pvtL6hph6gspvmPG1ManSLj4BzmZaYhqDCoG2dQ7",
"baseMint": "PAYZP1W3UmdEsNLJwmH61TNqACYJTvhXy8SCN4Tmeta",
"quoteMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"clientOrderId": 1234567,
"sequenceNumber": 42100,
"price": 0.032,
"size": 400000,
"side": "buy",
"orderType": "limit",
"lastValidSlot": 0
}
]
}
| Field | Type | Description |
|---|---|---|
market | string | Market address. |
baseMint | string | Base token mint address. |
quoteMint | string | Quote token mint address. |
clientOrderId | number | Client-assigned order ID. Only present if the order is tracked by a wrapper account. |
sequenceNumber | number | Exchange-assigned sequence number. Unique per market. |
price | number | Price in quote tokens per base token (decimal-adjusted). |
size | number | Size in base tokens (decimal-adjusted). |
side | string | "buy" or "sell". |
orderType | string | Order type: limit, postOnly, immediateOrCancel, global, reverse, reverseTight. |
lastValidSlot | number | Expiry slot. 0 means no expiry. |
{
"error": "invalid request",
"cause": "owner query parameter is required",
"code": 400
}
| Field | Type | Description |
|---|---|---|
error | string | Short error category. |
cause | string | Detailed error message. |
code | number | HTTP status code. |
owner is required and must be a valid base58 public key.# Get all open orders for a wallet
curl https://manifest-orders.fly.dev/v1/orders?owner=x1QVszZiibBzywo91M5KfnVTws9C5H9j9wE7sfE7BxS
# Pretty-printed
curl -s https://manifest-orders.fly.dev/v1/orders?owner=x1QVszZiibBzywo91M5KfnVTws9C5H9j9wE7sfE7BxS | python3 -m json.tool