Skip to main content
POST
Deposit into a maker book

Authorizations

X-API-Key
string
header
required

Body

application/json

Deposit free balance into a maker book. Amounts are human-decimal strings; absent or empty skips that side. At least one side must be > 0. If the maker book does not yet exist for (market, owner), the tx prepends InitializeMakerBook with the requested kind (defaults to lo).

market
string
required

Market PDA.

Example:

"u8tnfCb1JSSghuNFquQ2beStYgAN1kmd1f1Lhxbaec4"

signer
string
required

The wallet that signs: the book's maker, 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.

baseAmount
string | null
Example:

"1.5"

kind
enum<string>
default:lo

Only used when the maker book doesn't exist yet and needs InitializeMakerBook. lo (default) pins mid at 0 for limit orders; mm allows the movable anchor for market-makers. Init-only and immutable.

Available options:
lo,
mm
platform
enum<string> | null
default:self

Platform namespace for accountOwner. Ignored unless accountOwner is set.

Available options:
self,
treadfi
quoteAmount
string | null
Example:

"300"

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 transaction built.

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.