From 6454a798a86130cb181be63335e43d4f4aaee333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Tom=C3=A9=20Gon=C3=A7alves?= Date: Sun, 23 Aug 2026 22:51:19 +0100 Subject: [PATCH 1/2] Update transactions documentation --- _transactions.md | 238 +++++++++++++++-------------------------------- 1 file changed, 75 insertions(+), 163 deletions(-) diff --git a/_transactions.md b/_transactions.md index 61e042b..2e3ae93 100644 --- a/_transactions.md +++ b/_transactions.md @@ -100,7 +100,7 @@ curl https://api.uphold.com/v0/me/cards/a6d35fcd-xxxx-9c9d1dda6d57/transactions } ``` -> When the Travel Rule applies to the transaction, the response also includes: +> When the Travel Rule applies to a transaction created without `?commit=true`, the response also includes: ```json { @@ -131,21 +131,25 @@ The first step is to prepare the transaction by specifying: - The _currency_ to denominate the transaction by. - The _amount_ of value to send in the denominated currency. +- An optional denomination _target_ (`origin` or `destination`), determining which side of the transaction the denominated amount applies to: + when set to `destination`, fees are added on top of the denominated amount, so that the destination receives that exact amount; + when set to `origin`, fees are deducted from it instead. + By default, the target is the `destination` when converting to a different currency while denominating in the destination currency, and the `origin` otherwise. - The _origin_ of the transaction, which can be an account id in the case of a _deposit_. - The _destination_ of the transaction, which can be in the form of a [crypto network address](#create-card-address), an email address, an account id, an application id, or a [card id](#card-object). - An optional _message_, which is shown to the user to provide additional context. - An optional _reference_ code, which can be used as a unique identifier of the transaction in an external system, or for similar purposes. - An optional _priority_ for the transaction ("normal" or "fast", with the default being "normal"), to signal the intent to fast-track its completion in exchange for a higher fee. - This is currently only supported for the Dash network. + Notably, this enables instant withdrawals to US bank accounts via ACH; for withdrawals on the Dash network, it results in a higher network fee. The following table describes the types of transactions currently supported: -Type | Origin | Destination ----------- | ----------------------------------- | -------------------------------------------------------- -deposit | ACH, credit card or SEPA account id | Uphold card id -withdrawal | Uphold card id | ACH or SEPA account id, or cryptocurrency address -transfer | Uphold card id | Email address, Application id or Uphold card id +Type | Origin | Destination +---------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +deposit | Bank account id (ACH, FPS or SEPA; SWIFT or WIRE for unlinked accounts) or credit card account id | Uphold card id +withdrawal | Uphold card id | Bank account id (ACH, FPS or SEPA; SWIFT or WIRE for unlinked accounts), credit/debit card account id, alternative payment method (e.g. Interac or Apple Pay), or cryptocurrency address +transfer | Uphold card id | Email address, Application id or Uphold card id Upon preparing a transaction, a [Transaction Object](#transaction-object) will be returned with a newly-generated `id`, and a status of `pending`. @@ -156,7 +160,8 @@ Upon preparing a transaction, a [Transaction Object](#transaction-object) will b Adding the query string parameter ?commit=true to this request will create and commit the transaction in a single step.