Skip to main content
POST
Buy a curated Pack
Requires HMAC with trading and delegated_signing. Select an owned managed server-wallet profile through body field onBehalfOf; do not send x-on-behalf-of.

Before submission

  1. Confirm the Pack vault allowance.
  2. Obtain an eligible quote.
  3. Set a positive minPayoutAmount, a deadline at most 480 seconds ahead, and a unique purchase key.
  4. Durably save the complete request and its environment/account identity before sending it.
Request amounts are integer micro-USDC strings. The backend handles signing and sponsored submission.

Replay and recovery

On a timeout, disconnect, or ambiguous result, replay every field unchanged, including the original deadline and idempotency key. An expired local timestamp does not prove a purchase failed. A new key creates a separate purchase. Poll Get Partner Pack Position for pending and recovering purchases. If the bounded wait ends, replay the saved buy to obtain recovery metadata. Explicit PRICE_DRIFTED, the exact expired-intent rejection, and submissionState: "NOT_SUBMITTED" have specific renewal paths. PACK_ALLOWANCE_REQUIRED identifies the token, vault spender, and required allowance. Follow the recovery table; HTTP status alone does not determine whether a new key is safe. This endpoint shares the partner-owner limit of 10 requests per 10 seconds.

Authorizations

lmts-api-key
string
header
required

Scoped API token with HMAC-SHA256 signing. Requires three headers: lmts-api-key (token ID), lmts-timestamp (ISO-8601), lmts-signature (Base64-encoded HMAC). See Authentication docs for details.

Headers

lmts-timestamp
string
required

ISO-8601 HMAC signing timestamp.

lmts-signature
string
required

Base64 HMAC-SHA256 signature. Sign the method, path including query, and exact body with the timestamp.

Body

application/json
packId
string<uuid>
required
Example:

"22222222-2222-4222-8222-222222222222"

stakeAmount
string
required

Positive integer micro-USDC string; 1000000 = 1 USDC.

Pattern: ^[1-9]\d{0,19}$
Example:

"10000000"

onBehalfOf
integer
required

Owned managed server-wallet profile ID.

Required range: 1 <= x <= 2147483647
Example:

12345

minPayoutAmount
string
required

Minimum acceptable total payout in integer micro-USDC.

Pattern: ^[1-9]\d{0,19}$
Example:

"10000000"

deadline
string
required

Unix seconds. Future and at most 480 seconds away on first submission; preserve unchanged on replay.

Pattern: ^[1-9]\d{0,11}$
idempotencyKey
string
required

Stable purchase ID. Persist the complete body before submission and replay every field unchanged.

Required string length: 1 - 128
Pattern: ^[\x21-\x7e]+$

Response

Successful response

status
enum<string>
required

RECOVERING maps to position FAILED; operation FAILED maps to position VAULT_REVERTED.

Available options:
COMPLETED,
PENDING,
RECOVERING,
FAILED
position
object
required

Owned curated Pack position, including in-flight and recoverable purchases. Additional display fields may be returned.