Skip to main content

Wallets

Overview

Wallets serve as the core value-holding accounts in our B2B API ecosystem. Each wallet is associated with a customer and can store multiple asset types, including fiat currencies and digital assets.

Wallets act as universal ledgers, allowing you to create sophisticated products for your customers, including making payments, linking cards, receiving bank transfers, and storing digital assets.

  • Customers: Represent individual or business accounts. Refer to the [Customers and Portfolios] section.
  • Portfolios: Logical containers under a customer used to group and manage related wallets
  • Wallets: Store and manage multiple asset types and support operations such as payments, bank transfers, creating cards, and managing transactions
  • Balance adjustments: The method for moving funds between different wallets. Refer to the [Balance Adjustments] section.

Guides Wallets

Customer wallets are subject to strict compliance rules, and may be suspended or restricted if internal policies are violated.

Permissions are enforced per wallet — only authorized clients or users can perform wallet operations.

Wallet Types

Client admin wallets

Client Admin wallets allow you to store different wallets to organize assets at your organization's level.

Your client account is automatically provisioned with a wallet. To create additional wallets, speak to your Customer Success Manager.

Customer Wallets

Wallets

New customers are automatically provisioned with a wallet via the /create_user endpoint.

A wallet allows you to:

  • Store, send and receive assets for a user. (link)
  • Link a virtual account to a user (link)
  • Create and manage deposit addresses for digital assets
  • Create & manage cards.

General wallets

In future releases of the API, you will be able to create general use wallets that can store asset balances, but not receive deposits or make withdrawals. Talk to your customer success manager for more information about General Wallets.

Restrictions and permissions

Assets

Wallets can hold fiat (such as USD) and digital assets (e.g. BTC).

Each wallet holds a single balance per enabled asset, simplifying balance management and ensuring clear separation between asset types.

Supported Assets

The platform supports a number of assets on the platform, primarily:

Digital assets
AssetNetworkAsset Code
EthereumERC20ETH
BitcoinUTXOBTC
LitecoinAll supportedLTC
Bitcoin CashAll supportedBCH
USDTERC20USDT
USDCERC20USDC
RippleAll supportedXRP
SolanaAll supportedSOL
Fiat
AssetAsset Code
US DollarUSD
Supported assets

Important: Only supported assets and networks should be sent to the Connect Financial platform. Sending unsupported assets (or using unsupported networks) may result in the irrecoverable loss of assets.

Asset Balances

Assets can have different balances depending on the business use case and transaction status:

  • Available: Assets that are able to be freely interacted with by the user.
  • Pending: Typically relates to a transaction that has been initiated but not yet processed.
  • Reserved: Assets that have not left the wallet, but are not able to be interacted with.

Common use cases

Basic functionality

Creating a new user wallet

Wallets are automatically created through the /create_user endpoint [link].

Currently, each user can be associated with one wallet.

List wallets

The /wallets endpoint allows you to fetch all wallets associated with a user or business. Optional filters include wallet type, creation date, and status.

Get balance

Wallet balances can be fetched in real time via the /wallets/{id}/balance endpoint.

The response includes the available balance per asset and the balance type (including pending transactions)

View transactions

To retrieve a list of wallet transactions, refer to the /wallets/{id}/transaction endpoint.

You can filter by date, asset type, amount, or transaction type. Pagination is supported for efficient querying of large datasets. Each transaction includes metadata such as status, timestamps, and linked entities (e.g., cards or virtual accounts).

Balance Adjustments

To move balances between user wallets and Client Admin wallets, use the /balance-adjustment endpoint.

The endpoint allows you to determine sending and receiving wallets, asset, and balance.

Banking

Creating a virtual account

Virtual Accounts allow users to transact fiat via banking rails including ACH (US), FedWire (US) and Wire Transfer (Global). Each virtual account is tied to a wallet and allows inbound deposits and external withdrawals that credit/debit the wallet balance directly.

Each customer can have a single Virtual Account linked to Wallet. The API enforces a one-to-one mapping. To create a virtual account, refer to the /create-virtual-account [link] endpoint.

Cards

Creating and managing a card program relies on multiple design considerations that your Customer Success team will guide you through. The below functions provide a high level operations for typical use cases (e.g. debit cards linked to a virtual account).

Creating a card

Wallets can be connected to virtual or physical cards. When a transaction is made using a card, the wallet acts as the funding source. You can define the fallback logic if multiple wallets are present.

Cards are created using the /baas/banking/cards/debit and /baas/banking/cards/credit endpoints.