Skip to main content
POST
Set a maker book's quote expiry

Authorizations

X-API-Key
string
header
required

Body

application/json

Set how stale a book's quotes may get before the matching engine skips it: the engine skips a book once current_slot - last_updated_slot reaches expiryInSlots. 0 disables the check. A mainnet slot is ~400ms, so ~9000 slots is about an hour. This is the good-til-time control for resting limit orders — orders stop being fillable once the book goes quiet, with no cancel transaction. A small non-zero value makes the book skippable almost immediately; that is legal on-chain and is not rejected.

expiryInSlots
integer<int64>
default:9000
required

Slots of allowed staleness; 0 disables expiry.

Required range: x >= 0
market
string
default:u8tnfCb1JSSghuNFquQ2beStYgAN1kmd1f1Lhxbaec4
required

Market address.

signer
string
default:GLKCuotKSjPtQhxHmf6q8GUkw6tUZnzs8W5vEbxdaBdK
required

The wallet that signs: the book's maker or its delegate, or with accountOwner the account's owner or delegate. Existing clients may keep sending it as owner; send one name only.

accountOwner
string | null

The wallet that owns the ArcherAccount this request acts through. With platform it derives the account PDA server-side — you never handle a PDA. Omit for a plain wallet-owned book. Replaces the earlier archerAccount field, which is no longer read.

platform
enum<string> | null
default:self

Platform namespace for accountOwner. Ignored unless accountOwner is set.

Available options:
self,
treadfi
withInstructions
boolean | null
default:false

Also return the unsigned instructions under instructions, for composing your own transaction instead of signing ours. Omitted or false leaves the response exactly as it was.

Response

Unsigned close transaction.

Unsigned tx for deposit / withdraw / close plus the amounts moved (in on-chain lots).

action
enum<string>
required
Available options:
deposit,
withdraw,
close
addressLookupTables
string[]
required
baseLots
integer<int64>
required

Base lots the action moves (the explicit amount withdrawn/deposited). For a withdraw, "all" is resolved server-side to the book's free balance and reported here as that concrete amount. 0 for close.

expiresAt
integer<int64>
required
quoteLots
integer<int64>
required

Quote lots the action moves. Same conventions as baseLots.

transaction
string
required

Base64 unsigned VersionedTransaction.

instructions
object | null

Unsigned instructions, present only when the request set withInstructions.