getApplicationConfig is session-authenticated (call it after a user logs in). The five reporting methods are backend-authenticated: set your application secret key once with sdk.setServerKey("sk_..."), and the raw key is sent in the x-server-key header on each reporting request. There is no token exchange. See Backend Authentication.
() => Promise<ApplicationConfigResponse>
Retrieve application configuration for the current client ID. Session-authenticated.Returns:
ApplicationConfigResponse:id: string — application UUIDname: string — application nameallowedOrigins: string[] — CORS-allowed originswebhookUrl?: string — webhook URL for event deliveryvaultContractAddress: string — vault contract address for this applicationclientId: string — application client ID, embedded in on-chain deposit calls
(params?: ListAppOrdersParams) => Promise<ListAppOrdersResponse>
List orders placed by the application’s users. Requires backend authentication (set the
sk_... server key first).Parameters:params?:ListAppOrdersParamspage?: number — page number, starts from 1; at most 10,000, the last page this listing counts towardspageSize?: number — items per page (max 100)status?: string — filter by order status (e.g.SUBMITTED,PARTIALLY_FILLED,FILLED,SETTLED,CANCELLED,EXPIRED,REJECTED)userId?: string — filter by user UUIDtradingPairId?: string — filter by trading pair UUIDside?: string — filter by side:BUYorSELLorderType?: string — filter by order type (e.g.LIMIT,MARKET,STOP_LOSS,TAKE_PROFIT,STOP_LIMIT,TRAILING_STOP)
ListAppOrdersResponse:orders:AppOrder[]— matching orderstotal: number — matching orders, exact up topageSize× 10,000 rows and saturates there (the cap, not the application’s lifetime total); when it equalspageSize× 10,000, read it as a lower bound (>=), not an exact countpage: number — current page numberpageSize: number — items per pagetotalPages: number — pages at the requested page size, exact up to 10,000 and saturates there (the last page this listing reaches)
(params?: ListAppUsersParams) => Promise<ListAppUsersResponse>
List the application’s users. Requires backend authentication.Parameters:
params?:ListAppUsersParamspage?: number — page number, starts from 1pageSize?: number — items per page (max 100)isActive?: boolean — filter by active statusaccountType?: string — filter by account type:masterorsubaddress?: string — filter by wallet address (partial match, case-insensitive)
ListAppUsersResponse:users:AppUser[]— matching userstotal: number — total number of userspage: number — current page numberpageSize: number — items per pagetotalPages: number — total number of pages
(params?: ListAppMovementsParams) => Promise<ListAppMovementsResponse>
List ledger movements (deposits, withdrawals, trades, fees, etc.) for the application’s users. Requires backend authentication.Parameters:
params?:ListAppMovementsParamspage?: number — page number, starts from 1; at most 10,000, the last page this listing counts towardspageSize?: number — items per page (max 100)userId?: string — filter by user UUIDtransactionType?: string — filter by transaction type (e.g.DEPOSIT,WITHDRAWAL,TRADE,FEE,FUNDING,LIQUIDATION,INTEREST,REWARD)entryType?: string — filter by entry type (e.g.CREDIT,DEBIT,LOCK,UNLOCK,FEE)assetId?: string — filter by asset UUID
ListAppMovementsResponse:movements:AppMovement[]— matching movementstotal: number — matching movements, exact up topageSize× 10,000 rows and saturates there (the cap, not the application’s lifetime total); when it equalspageSize× 10,000, read it as a lower bound (>=), not an exact countpage: number — current page numberpageSize: number — items per pagetotalPages: number — pages at the requested page size, exact up to 10,000 and saturates there (the last page this listing reaches)
(params?: ListAppBalancesParams) => Promise<ListAppBalancesResponse>
List user balances held within the application. Requires backend authentication.Parameters:
params?:ListAppBalancesParamspage?: number — page number, starts from 1pageSize?: number — items per page (max 100)userId?: string — filter by user UUIDassetId?: string — filter by asset UUID
ListAppBalancesResponse:balances:AppBalance[]— matching balancestotal: number — total matching balancespage: number — current page numberpageSize: number — items per pagetotalPages: number — total number of pages
(params?: GetAppStatsParams) => Promise<GetAppStatsResponse>
Fetch aggregate volume and fee metrics for the authenticated application. Requires backend authentication.Stats are scoped to trades where this application’s users were the taker.Parameters:
params?:GetAppStatsParamssince?: string — ISO 8601 datetime, e.g."2026-01-01T00:00:00Z". Omit for all-time
GetAppStatsResponse:volume: string — total quote volume (normalized, human-readable)makerFee: string — total maker fees collectedtakerFee: string — total taker fees collectedapplicationTakerFee: string — application revenue share from taker feestradeCount: number — total number of trades

