Skip to main content
Buy moves fiat into crypto in the user’s Uphold account, sourced from a linked fiat external account (card or bank). In one transaction Uphold both takes the deposit and converts it to crypto — no need to run a separate deposit and trade, each with its own quote and commit. Sell moves value out of the user’s Uphold crypto account to a linked fiat external account — a card (via OCT) or a bank account — converting crypto to fiat and paying out.

Key concepts

  • cards capability — buying with a card deposit requires the user to have the cards capability enabled.
  • trades capability — any buy or sell that involves converting one asset to another requires the trades capability. UK retail users face a 24-hour post-onboarding cooldown before trading is available.
  • card-withdrawals capability — selling to a card via OCT requires the card-withdrawals capability.
  • 3DS authorization — card deposits may require user authorization via a 3DS challenge. When they do, the transaction response includes a confirmationUrl — redirect the user there to complete it.
  • octSupport — selling to a card requires the destination external account to have octSupport: "supported". Verify this when linking the payout card.

Supported methods

DirectionSource / destinationNotes
BuyCardMay require 3DS authorization
BuyBank accountSEPA / FPS / ACH / FedNow / wire — see bank-transfer deposit guides for rail-specific setup
BuyAPMsApple Pay, Google Pay, PayPal, and Venmo — via the Payment Widget
SellCard (OCT)Requires octSupport: "supported" on the external account
SellBank accountSEPA / FPS / ACH / FedNow — see bank-transfer withdrawal guides for rail-specific setup
SellAPMsApple Pay, Google Pay, PayPal, and Venmo — via the Payment Widget

Testing in sandbox

Use test card numbers to simulate card deposits and payouts in the sandbox. Crypto deposits can be triggered via the simulate crypto deposit endpoint.

Start building

Buy via API

Buy crypto for users from a fiat payment method — card and bank — in a single transaction.

Sell via API

Sell crypto and pay out to a fiat destination — card and bank — in a single transaction.