You can receive assets in one of the following ways:
- From an external counterparty on the same ledger.
- From another Ripple Custody account.
When Ripple Custody detects the incoming transaction, it internally creates the following entities, that you can use to track the operation:
- A transaction.
- One or more transfers.
For more information, see Incoming transaction objects.
The assets are added to your account balance but not available to use until you release them from quarantine. If Ripple Custody creates multiple transfers, you can choose which ones to release from quarantine.
For transfers from an account on a Bitcoin-type ledger, Ripple Custody automatically creates a new account address.
Some ledgers require you to perform setup tasks for specific asset sending operations. For more information, see Ledger-specific account setup.
To provide account details:
- Retrieve the account address, as described in View account details.
- Share the details with your counterparty, so they can send the assets.
Ripple Custody receives the incoming transaction and performs the following tasks:
- Adds the assets to your account in a quarantined state.
- Creates a transaction.
- Creates one or more transfers, to represent the separate amounts associated with the transaction, such as the cryptocurrency amount and the fees.
To finish the process, release the assets. For more information, see Release quarantined assets.
To view details of the incoming transaction, run one or more of the following operations:
- To get a new account balance, see Check account balances.
- To view the internally-created transaction, see View incoming transactions.
- To view the internally-created transfers, see View the transfers for a transaction. You need the transfer information to release quarantined funds.
Assets in an incoming transaction are only added to the account after they are released from quarantine.
Before you can release quarantined assets, you need the following:
| Prerequisite | Additional information |
|---|---|
| The ID of the receiving account | View account details |
| Details of the transfers created for the account | View the transfers for a transaction |
| A new intent ID, in a standard UUID format |
All new requests to change the system state follow the same process. To familiarize yourself with this process first, see Manage intents and approvals.
To release the assets from quarantine, follow the steps in Manage intents and approvals, with a payload similar to the following example.
"payload":{
"accountId": "d94b76bc-d373-434a-b317-12a9df7a0ef3",
"transferIds": ["ad742892-44fb-4cb2-bd09-a9991fe2e4f4"],
"type": "v0_ReleaseQuarantinedTransfers"
},Fields of the payload block to note are as follows:
| Field | Description |
|---|---|
accountId | ID of the account that received the funds. |
transferIds | Details of one or more transfers to release from quarantine. |
type | v0_ReleaseQuarantinedTransfers |
Before signing and submitting the release request, call the Perform a dry run for an intent operation with the release payload. For the dry-run request body format, see Dry run and signature request body.
The assets are released when the intent is successfully approved and executed.