POST /v1/auth/wallet or POST /v1/auth/session.
Routes
| Route | Purpose |
|---|---|
GET /v1/user/available_balance | returns ; currently available internal balance |
GET /v1/user/reserved_balance | returns ; currently reserved internal balance |
GET /v1/user/available_app_token_balance | returns ; immediately available app-token balance |
GET /v1/user/reserved_app_token_balance | returns ; app-token balance held by open activity |
GET /v1/user/app_token_grants | lists app-token grants with category, expiry, availability, and consumption fields; accepts limit (default 50, max 100) and cursor, and returns has_more plus next_cursor when another page is available |
GET /v1/users/deposit-wallet | returns the Longshot-controlled wallet users send USDC to for automatic deposits |
POST /v1/users/deposit | credits internal available balance after settlement deposit succeeds; primarily used in demo/manual-deposit mode |
POST /v1/users/withdraw | moves internal balance to an explicit destination address and returns amount_micros, operation_id, destination_address, and tx_hash |
POST /v1/user/deposit_app_token | moves ERC1155 app tokens from settlement into the app-token balance ledger |
POST /v1/user/grant_app_token | creates a user-funded app-token grant; the authenticated caller’s available balance funds the grant |
Deposit and Withdrawal Body
POST /v1/users/deposit accepts an amount and idempotency key. POST /v1/users/withdraw also requires destination_address. Amounts are in USDC
micros.
Amount to move, in USDC micros (
1_000_000 = 1 USDC).Client-generated UUID. Repeated requests with the same key are deduplicated.
Required for withdrawals only. EVM address that receives the withdrawn USDC.
App-Token Deposit Body
POST /v1/user/deposit_app_token uses the same idempotency pattern plus the
ERC1155 app-token ID.
amount_micros, operation_id, and tx_hash shape as
USDC deposits.