Limit order v2 endpoint
Create limit order
Sends a POST request to the Jupiter Limit Order API to get the unsigned transactions needed to create an order.
POSThttps://api.jup.ag/limit/v2/createOrder
https://api.jup.ag/limit/v2/createOrder
Parameters in use in the below code example:
inputMint: The mint address of the input token (required).outputMint: The mint address of the output token (required).maker: The wallet address of the user who wants to create an order (required).payer: The wallet address of who is paying to open an order (usuallymaker) (required).makingAmount: Amount of input mint to sell (required).takingAmount: Amount of output mint to buy (required).expiredAt: Unix time in seconds that determines when an order should automatically close.feeBps: Amount of fee that thereferralcollects. (Requiresreferral).computeUnitPrice: Used to determine a transaction's prioritization fee. Defaults toauto.referral: The public key where fees get sent to (RequiresfeeBps).inputTokenProgram: Defaults toTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DAoutputTokenProgram: Defaults toTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DAwrapAndUnwrapSol: Defaults totrue, if either input or output mints are raw SOLCreate limit order request body and response
type CreateOrder = {
inputMint: string;
outputMint: string;
maker: string;
payer: string;
params: {
makingAmount: string;
takingAmount: string;
// In unix seconds (e.g. Date.now()/1_000)
expiredAt?: string | undefined;
// Requires `referral`
feeBps?: string | undefined;
};
computeUnitPrice: string | "auto";
referral?: string | undefined;
// Default: TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
inputTokenProgram?: string | undefined;
outputTokenProgram?: string | undefined;
// Default: true
// Determines if SOL needs to be wrapped and unwrapped
wrapAndUnwrapSol?: boolean | undefined;
};
type CreateOrderResponse = {
order: string;
tx: string;
};
Example response
{
"order": "EWxFUCUAzvo2siM9gYVPWkaouvCfemwnwkfdVw2ib7JH",
"tx": "AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAJDgljyvLecNltZyLKJwcNk/0wjQipK4AUImvf2FZSxHIzDYJ0JdiFdLKUD0/uyu862mvKMrRGcmeB0hacZldr91rI1D6IwBADhxzCinLz0WuLrIJDCWIg/AajAnWXFcf8wi6Dlq1U1ClYCNsR8Xj0JlqSi9FGU0GP64HMzvBB8o/7Pc01wNmmSKitJONFP3gmdGbtde+pcSLhy7GOlMkI03UDBkZv5SEXMv/srbpyw5vnvIzlu8X3EmssQ5s6QAAAAIyXJY9OJInxuz0QKRSODYMLWhOZ2v8QhASOe9jb6fhZBpuIV/6rgYT7aH9jRhjANdrEOdwa6ztVmKDwAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpCsNKlsFmcVpgwSM+yiWKDfMLHshY4HRcc2oSYmZjSyIQiYnNzGGPBnZ0rGd+KZqtsSj+INnM2CjlCMnxv5sw68b6evO+2606PWXzaqvJdDGxu+TC0vbg5HymAgNFL11hkn9sh+xDEAWX2S7IDh4PwuUsi7/8dQ+DB2YEV+4zsuGS8LiUcikk5FUuAM3vpZjsAmrMZL3FPOcH2v4SeX3/fwQFAAUCoAMCAAUACQNd9AgAAAAAAAYGAAEABwgJAQEKDwAAAgMECwoMBwkJCAYNCiKFbkqvcJ/1n9vKKe2gGX+OAOH1BQAAAACA8PoCAAAAAAAAAA=="
}
Cancel limit order
Sends a POST request to the Jupiter Limit Order API to get the unsigned transactions needed to cancel order(s).
POSThttps://api.jup.ag/limit/v2/cancelOrders
https://api.jup.ag/limit/v2/cancelOrders
Parameters in use in the below code example:
maker: The wallet address of the user associated to the order(s) that are being cancelled (required)`.computeUnitPrice: Used to determine a transaction's prioritization fee. Defaults toauto.orders: The public keys for orders that are intended to be cancelled. If not specified, this will generate the transaction(s) to close all orders associated to themaker.
Cancel order(s) request body and response
type CancelOrders = {
maker: string;
// "auto" sets the priority fee based on network congestion
// and it will be capped at 500,000
computeUnitPrice: string | "auto";
// Specific order account public keys to cancel/close
orders?: string[] | undefined;
};
type CancelOrdersResponse = {
txs: string[];
};
If no orders are specified, the API would return the unsigned transactions to cancel ALL open orders, batched in groups of 5 orders.
Example response
{
"txs": [
"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAFCAljyvLecNltZyLKJwcNk/0wjQipK4AUImvf2FZSxHIzhJKWtj2HSC7RNPJa8OnDC9WWH6trCbp1C6qA4BUMaQ0ye0cXKemx6Yc1OP5dEP1Nac45/1jWuZvS7iawRDbqZgMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAACsNKlsFmcVpgwSM+yiWKDfMLHshY4HRcc2oSYmZjSyIGm4hX/quBhPtof2NGGMA12sQ53BrrO1WYoPAAAAAAAQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpkn9sh+xDEAWX2S7IDh4PwuUsi7/8dQ+DB2YEV+4zsuG+7bRt16L/qXhIqNGmwpgUHcNL0fQRKYOGfN2TfXujaQMDAAUCoIwAAAMACQMIQAkAAAAAAAQJAAABAgQFBgcECF+B7fAIMd+EAA==",
"AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAQAFCAljyvLecNltZyLKJwcNk/0wjQipK4AUImvf2FZSxHIzhJKWtj2HSC7RNPJa8OnDC9WWH6trCbp1C6qA4BUMaQ0ye0cXKemx6Yc1OP5dEP1Nac45/1jWuZvS7iawRDbqZgMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAACsNKlsFmcVpgwSM+yiWKDfMLHshY4HRcc2oSYmZjSyIGm4hX/quBhPtof2NGGMA12sQ53BrrO1WYoPAAAAAAAQbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpkn9sh+xDEAWX2S7IDh4PwuUsi7/8dQ+DB2YEV+4zsuEWFbUelyswY5BEVZJ4BDbpIlxW2qs0WTxU97RD4F2/iQMDAAUCoIwAAAMACQNaTggAAAAAAAQJAAABAgQFBgcECF+B7fAIMd+EAA=="
]
}
View open orders
This proxies the [getProgramAccounts]``(https://solana.com/docs/rpc/http/getprogramaccounts) RPC method and returns all order (accounts) associated to the specified wallet.
GEThttps://api.jup.ag/limit/v2/openOrders
https://api.jup.ag/limit/v2/openOrders
Parameters in use in the below code example:
wallet: The wallet address to filter open orders by (required).inputMint: The mint address of the input token.outputMint: The mint address of the output token.
Example response
[
{
"account": {
"borrowMakingAmount": "0",
"createdAt": "2024-10-22T11:49:27.000Z",
"expiredAt": null,
"makingAmount": "50000000",
"oriMakingAmount": "50000000",
"oriTakingAmount": "100000000",
"takingAmount": "100000000",
"uniqueId": "3697202764802760127",
"updatedAt": "1729597767",
"feeAccount": "APWoLnZc8g8iXLA8qLdHJ4w42ybRrq2Vm8UGQhH7TJ3r",
"inputMint": "So11111111111111111111111111111111111111112",
"inputMintReserve": "4Q4Qv1KT1qrpHPydQcoPVoCD9FuCCPPbD211CTW43RVF",
"inputTokenProgram": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"maker": "devjnEpxbJUhJ39FSsFz7YPerr5bdxN8VWUXvfbFUK4",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"outputTokenProgram": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"feeBps": 10,
"bump": 255
},
"publicKey": "9vWTg8y4UvrLM49rqvJ2mtmpxicPytNs7FD78352g9Kr"
}
]
View order history
Returns a list of all orders and the trades that filled them. The paginated response returns 10 orders at a time and indicates if there are more orders via hasMoreData boolean and the current page via page in the response.
GEThttps://api.jup.ag/limit/v2/orderHistory
https://api.jup.ag/limit/v2/orderHistory
Parameters in use in the below code example:
wallet: The wallet address to filter open orders by (required).page: Results are paginated in groups of 10, starting from page 1.
Example response
{
"orders": [
{
"userPubkey": "devjnEpxbJUhJ39FSsFz7YPerr5bdxN8VWUXvfbFUK4",
"orderKey": "E7EtgGdsdhSkkzAsSLxqWsG5Edc3n4FUL2SXWwPeN3hQ",
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"makingAmount": "0.05",
"takingAmount": "100",
"remainingMakingAmount": "0.05",
"remainingTakingAmount": "100",
"expiredAt": null,
"createdAt": "2024-10-22T07:48:06Z",
"updatedAt": "2024-10-22T07:53:02Z",
"status": "Cancelled",
"openTx": "4c1vMT1NBs5jNqanjenshNq8LXsLV68KY4mbiizDuRn9rFGEjU8g8cerUTrsmzhu4aYebtp6NyuQgqwUSNpsexYw",
"closeTx": "4engV35gYcKSDDM57hB4n6ZT3pLKshWSMckNh2tdHrbyKcJm6DUfBAFzufCei8sKWLHDc43dTLejHmkxvKseDW7a",
"programVersion": "j1o2qRpjcyUwEvwtcfhEQefh773ZgjxcVRry7LDqg5X",
"trades": []
},
{
"userPubkey": "devjnEpxbJUhJ39FSsFz7YPerr5bdxN8VWUXvfbFUK4",
"orderKey": "8xZdAtCMNXXy7ijUfxFhNTzJBdUrC4DgmBWCwviJrgPG",
"inputMint": "So11111111111111111111111111111111111111112",
"outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"makingAmount": "0.05",
"takingAmount": "100",
"remainingMakingAmount": "0.05",
"remainingTakingAmount": "100",
"expiredAt": null,
"createdAt": "2024-10-22T07:48:05Z",
"updatedAt": "2024-10-22T07:53:02Z",
"status": "Cancelled",
"openTx": "Pm98oGGxVwaBN5TaoadVArmr6eHRuWpjYUzws5PERbvmufHfAFevaisi17XXmfTSoMW2LUdn9RYmPknzp2ft8kM",
"closeTx": "4engV35gYcKSDDM57hB4n6ZT3pLKshWSMckNh2tdHrbyKcJm6DUfBAFzufCei8sKWLHDc43dTLejHmkxvKseDW7a",
"programVersion": "j1o2qRpjcyUwEvwtcfhEQefh773ZgjxcVRry7LDqg5X",
"trades": []
},
],
"hasMoreData": false,
"page": 1
}