The accounts group of endpoints allows you to manage the user’s accounts on the platform.

A user may have many accounts, each one holding the balance of a specific asset. They act as a container for the user’s funds stored in Uphold.

Balance

An account has two types of balances:

  • Available balance: The amount of funds that can be used for transactions.
  • Total balance: The total amount of funds in the account, including any pending transactions.

Funding an account

There are several ways to fund an account, that is, to have its balance increased.

Push deposits

A push deposit occurs when the user sends funds from an external source to their account on the platform.

To facilitate a push deposit, use the Get Account Deposit Method endpoint. This endpoint replies with the necessary deposit details for the user to complete the deposit from their side.

Pull deposits

A pull deposit allows the platform to initiate the transfer of funds from the user’s external account (e.g., a credit card or linked bank account), provided the user has given authorization.

Pull deposits are processed through external accounts, which must be linked and authorized by the user before the platform can pull funds. To initiate a pull deposit, you create a quote where the origin is the external account and the destination is the user’s account.

From other accounts

Users can also fund their accounts by moving funds between accounts, even if they are in different assets.

To do this, you can use the Create Quote endpoint, specifying the origin and destination accounts.

Archiving Accounts

Accounts are not permanently deleted. If an external deposit is made to an archived account, the account will be automatically unarchived, and the user will successfully receive the funds.

When this occurs, a core.account.unarchived webhook will be triggered to notify you.