For machine-readable docs: curl -H "Accept: text/plain" /docs or ?format=md

GET /v1/orders

Query open orders for a wallet across all Manifest markets. Returns decimal-adjusted values.
← Back to Overview

Quick Start

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(())

}

Query Parameters

ParameterTypeRequiredDescription
ownerstringYesBase58 public key of the wallet to query orders for.

Success Response

{

"orders": [

{

"market": "BcC2pvtL6hph6gspvmPG1ManSLj4BzmZaYhqDCoG2dQ7",

"baseMint": "PAYZP1W3UmdEsNLJwmH61TNqACYJTvhXy8SCN4Tmeta",

"quoteMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",

"clientOrderId": 1234567,

"sequenceNumber": 42100,

"price": 0.032,

"size": 400000,

"side": "buy",

"orderType": "limit",

"lastValidSlot": 0

}

]

}

Order Fields

FieldTypeDescription
marketstringMarket address.
baseMintstringBase token mint address.
quoteMintstringQuote token mint address.
clientOrderIdnumberClient-assigned order ID. Only present if the order is tracked by a wrapper account.
sequenceNumbernumberExchange-assigned sequence number. Unique per market.
pricenumberPrice in quote tokens per base token (decimal-adjusted).
sizenumberSize in base tokens (decimal-adjusted).
sidestring"buy" or "sell".
orderTypestringOrder type: limit, postOnly, immediateOrCancel, global, reverse, reverseTight.
lastValidSlotnumberExpiry slot. 0 means no expiry.

Error Response

{

"error": "invalid request",

"cause": "owner query parameter is required",

"code": 400

}

FieldTypeDescription
errorstringShort error category.
causestringDetailed error message.
codenumberHTTP status code.

Validation Rules

Examples

# 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