Wallets Guide
Overview
The SYSTEM wallet story in this repo is currently documented through the slash-connection, slash-wallet, and slash-transaction endpoint families rather than a standalone /web/v1/consumer/wallets/* surface. In practice, that means wallet discovery begins with a workspace-scoped Slash connection and then fans out into account, balance, and transaction calls.
What This Domain Covers
- discovering wallet-capable Slash connections for a workspace
- reading account-level wallet details
- retrieving top-level and account-level balances
- listing wallet activity through transaction endpoints
- connecting wallet context to transfers and reconciliation
Common Prerequisites
Authorization: Bearer <accessToken>X-PORTAL-ACCESS-CODE: <system-portal-code>- workspace ID for connection discovery
- Slash connection business ID
- account ID inside the selected Slash connection
Shared Headers
bash
X-PORTAL-ACCESS-CODE: <system-portal-code>
Authorization: Bearer <accessToken>Published Endpoint Families
Connection discovery
GET /web/v1/workspaces/{workspaceId}/slash/connectionsGET /web/v1/workspaces/{workspaceId}/slash/connections/{connectionBizId}
Wallet detail and balances
GET /web/v1/slash/connections/{connectionBizId}/balances/top-levelGET /web/v1/slash/connections/{connectionBizId}/accounts/{accountId}GET /web/v1/slash/connections/{connectionBizId}/accounts/{accountId}/balances
Wallet flows
GET /web/v1/slash/connections/{connectionBizId}/transactionsGET /web/v1/slash/connections/{connectionBizId}/transactions/{transactionId}GET /web/v1/slash/connections/{connectionBizId}/transactions/aggregation
Typical Developer Sequence
- list workspace connections
- inspect the selected connection and capture the provider account ID
- read the top-level balance for dashboard summary cards
- read the account detail and account balances for wallet pages
- load transactions for recent wallet flows and drill down into a specific item
Decision Points
- whether the UI should start from workspace connection selection or from a previously saved default connection
- whether to display top-level balance only or also account-level balances in cents
- whether transaction history is needed in paginated list form or aggregated summary form
- whether the selected connection should also drive transfer creation
Error Handling
4040on Slash wallet or transaction endpoints usually means the connection or account ID is wrong, not that the user lacks general portal access- response fields on Slash-backed endpoints often use provider-native snake_case; preserve them in the client model
- a missing
workspace:managepermission will block connection discovery even when the wallet endpoints themselves accept a JWT - do not invent a generic wallet list endpoint if the account IDs are only discoverable through connection metadata in your deployment