Create Order Transaction

Create raw bytes of an unsigned transaction to place an order by specified parameters.

This endpoint does not submit the transaction to the network.

The endpoint allows you to specify priority fees and tips to later control the transaction inclusion and propagation. Refer to the Transaction Submission & Front-Running Protection & Transaction Bundle page for additional information about these parameters.

Request

Method:

POST ./api/v2/openbook/place

Parameters:

ParameterTypeDescription

ownerAddress

string

User's account address to place order

payerAddress

string

Account address to pay for the order. Typically, this is the same as ownerAddress if providing SOL, else the SPL token wallet for the relevant token.

market

string

Smart contract address/symbol of the market.

side

string

Order type: β€œASK” or β€œBID”

amount

number

Order size

price

number

Order price. Not applicable if the type is "market"

type

string

Supported types: "LIMIT", "IOC", "POSTONLY"

openOrdersAddress

string

Define with open order address to place the order in case of having multiple open order addresses. Specify for a faster response.

clientOrderId

string

OPTIONAL. Client order ID which can useful for unique identifying orders, since there aren't any other ID-like fields immediately available. This field is only as reliable as the user that provides it.

computeLimit

number

OPTIONAL. Specifies total compute limit to be allocated for all instructions within the created tx

computePrice

number

OPTIONAL. Specifies compute price in Lamport (0.000001 SOL = 1,000 Lamport) to be included as a part of instruction, known as priority fee.

tip

uint64

OPTIONAL. Specifies a tip amount that will be used to pay for front-running protection or bundle submission services. The minimum value is What is tip?

Request example:

curl --header "Authorization: $AUTH_HEADER" \
-X 'POST' \
  'https://ny.solana.dex.blxrbdn.com/api/v2/openbook/place' \
  -H 'accept: application/json' 
  -H 'Content-Type: application/json' \
  -d '{
  "ownerAddress": "AFT8...UDfQ",
  "payerAddress": "AFT8...UDfQ",
  "market": "SOLUSDC",
  "side": "S_ASK",
  "amount": 100,
  "price": 0,
  "openOrdersAddress": "5yyh...f8kZ",
  "clientOrderID": "123"
}'

This example places an order exchanging 0.1 SOL for USDC, at the price of 10000000 SOL/USDC. Since the submitter (AFT8VayE7qr8MoQsW3wHsDS83HhEvhGWdbNSHRKeUDfQ ) is providing SOL , they can specify their Solana address as the payerAddress. In the opposite case ("side": "S_BID"), the submitter must provide their USDC wallet address.

In the future, this transaction's resulting order can be uniquely retrieved using the "clientOrderID": "1234" if there are no other transactions from the same user with the same clientOrderID. Note that even cancelled orders cannot reuse the same clientOrderID without causing issues with , though this will not have any effect on the orderbook's ability to fill the transaction itself.

Response:

Fields:

FieldDescription

transaction

Raw bytes of unsigned transaction

openOrdersAddress

The open order address to place the order

Example:

{
  "transaction": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3VviHhRXwajmbHjA81VWXrZn5eFs8QQgktl0zJIHYBY3t6VHnwK40CkHx94w499MTm6w2xUFNd4g/td6s0OsDAgAFD4ls26fgpAnCYufUzDrXMMpDjMYkf2Y2FHuxqKE+2+Ir4JOYQLjX3gNAS/hRzKTUUu1/FlowlWLc1wv3nKsGTt6EwvsYrtYZ9UZjJlPvBgKfAqhkvzgphnGBuyDfHXFcMEoHX5xmEhJgK0YZx3BKh/s3nhpE7IFyBzqsKBqiTDd6jfzI9XsPznt1ZnWa9u9nVKg1KibD5ElrzSfbftYpluJAIIlGU8/d+nt+YMlmaCc2otsPg4VkklsRB3oh4DbXlwD0JuFuuM8DEZF1+YBRQ0SVXONw52WUDzwpQ5VF+0Wppt/RXFB3Bfkzm5U8Gk39vJzBht0vYt9IqVgEXip2UlkfJvXwRhxAEL1cyMpwZt2lhKbucXk0xnet9MJfvRVqLWrj7TJ6D4hJp3KUHZcFDzpujLjdOrzbFHCIfIK1TT82BpuIV/6rgYT7aH9jRhjANdrEOdwa6ztVmKDwAAAAAAEGp9UXGSxcUSGMyUw9SvF/WNruCJuh/UTj29mKAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFDy1uAqR6+CTQmradxC1wyyjL+iSft+5XudJWwSdi72WJF7hI17QuJRRi1EmSpQkUrNAwom+Kp9LFCTP8SA/pBA0CAAE0AAAAAIB3jgYAAAAApQAAAAAAAAAG3fbh12Whk9nL4UbO63msHLSF7V9bN5E6jPWFfv8AqQwEAQoACwEBDgwCAwQFBgcBAAgJDAszAAoAAAABAAAAAOQLVAIAAAABAAAAAAAAAAAQpdToAAAAAAAAAAAAAADSBAAAAAAAAP//DAMBAAABCQ==",
  "openOrdersAddress": "5yyh4mzzycmjfR6arY736d1mB6vNSLiUaFWfepKLf8kZ"
}

Last updated