Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.uphold.com/llms.txt

Use this file to discover all available pages before exploring further.

Allow users to fund or cash out with their debit/credit cards, globally, in EUR, GBP, or USD.

Key concepts

  • External account lifecycle — when a card is added, its status starts as processing and transitions to ok once validated, or failed if the card is invalid or declined. If using the Payment Widget, card-linking specific errors (duplicates, country mismatch, card limits) are handled internally.
  • 3DS authorization — when the quote response includes a confirmationUrl on the card node, the Payment Widget handles 3DS authentication. If confirmationUrl is absent, the transaction is created directly via the REST API.
  • Card limits — users may be subject to active card limits and unique card limits. These are enforced as capability restrictions.

Testing in sandbox

Use Test cards to simulate card deposits and withdrawals in the Sandbox environment. The table lists card numbers by network, type, and country, along with reserved amounts that trigger specific error responses.

Start building

Deposit via API

Set up card deposits and handle 3DS authentication programmatically.

Deposit via Widget

Let users add their card and deposit funds with a low-code, embeddable widget.

Withdrawal via API

Create quotes and submit payouts to your users’ cards.

Withdrawal via Widget

Let users withdraw funds to their card with a low-code, embeddable widget.