Skip to main content
GET
List pending withdrawals

Authorizations

X-Monaco-Signature
string
header
required

Ed25519 session-key request signing. Every authenticated request carries three headers: X-Monaco-PublicKey (64-char lowercase-hex session public key), X-Monaco-Timestamp (Unix milliseconds, within 30s of server time), and X-Monaco-Signature (hex ed25519 signature). The signature is over METHOD\npath?query\ntimestamp_ms\nSHA256_hex(body), where the body hash is the SHA-256 of the empty byte string when there is no body. Obtain the session keypair from POST /api/v1/auth/challenge followed by POST /api/v1/auth/verify.

Query Parameters

pageSize
integer<uint32>
default:20

Items per page (max 1000)

Required range: 1 <= x <= 1000
pageToken
string

Pagination cursor with two states:

  • Omitted or empty string (""): start a cursor walk with no prior position, from the newest pending withdrawal.
  • Non-empty: an opaque cursor from a previous response's next_page_token; results resume immediately after that position.

The walk seeks on (created_at, withdrawal_index) descending — the order this listing already read in, served by idx_withdrawals_user_created (user_id, created_at DESC). created_at is NOT NULL and withdrawal_index is the table's primary key, assigned by the vault in request order, so the key is total and immutable. total is populated and exact: a user's unexecuted withdrawals are a small bounded set.

Response

OK

withdrawals
object[] | null
total
integer<uint32> | null

Total number of pending withdrawals for the caller

Example:

3

pageSize
integer<uint32> | null

Items per page

Example:

20

totalPages
integer<uint32> | null

Total number of pages

Example:

1

nextPageToken
string | null

Cursor for the next page, minted from the last row of an over-fetched page: this listing is one ordered read, so a page shorter than page_size proves the walk is exhausted and this is empty.