How to deposit assets

This part of the guide will focus specifically on depositing digital assets (Bitcoin, Ether etc.) to Prime Trust accounts for which the process is completely API driven. Other assets such as private and public securities can also be deposited to Prime Trust accounts, once an asset is in Prime Trust's system it can be interacted with like any other asset bar any specific asset restrictions. Security Token Offerings which are ERC-20 compatible and other ERC-20 compatible tokens can also be custodied by Prime Trust in an automated fashion, to request a new asset addition please reach out to your sales engineer for the necessary paperwork and process.

To receive a full list of assets currently supported by Prime Trust in an automated or manual way please refer to the assets endpoints.

Steps to deposit an asset

There are two steps to deposit a digital asset for which the process is fully automated as listed below:

  1. Create an Asset Transfer Method with the relevant tax information which are listed below linked to an account and contact. This information is optional and will not be tracked by Prime Trust if not provided:
  • cost-basis : The price per unit at which the asset was acquired

  • acquisition-date: The date on which the assets were acquired

  1. Send the digital assets to the provided deposit address and track the related transactions when assets are received. Note that though asset-transfer-methods can be made so that they are single use this is not recommended. Assets can also be deposited into an account once the account is in pending state but they cannot be transferred or withdrawn till the account has been opened.

Request

POST v2/asset-transfer-methods
{
"data" : {
"type" : "asset-transfer-methods",
"attributes" : {
"label" : "Deposit Address for Counterparty 1",
"cost-basis" : "7500",
"acquisition-on" : "12-04-2019",
"currency-type" : "USD",
"asset-id" : "798debbc-ec84-43ea-8096-13e2ebcf4749",
"contact-id" : "{{contact-id}}",
"account-id" :"{{account-id}}",
"transfer-direction" : "incoming",
"single-use" : "false",
"asset-transfer-type" : "bitcoin"
}
}
}

Response

{
"data": {
"type": "asset-transfer-methods",
"id": "df923111-47c2-456f-a6cd-5be76fb5d903",
"attributes": {
"acquisition-on": "2019-04-12",
"asset-transfer-type": "bitcoin",
"cost-basis": 7500.0,
"created-at": "2019-12-04T19:06:59Z",
"currency-type": "USD",
"label": "Deposit Address for Counterparty 1",
"inactive": false,
"single-use": false,
"transfer-direction": "incoming",
"wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf"
},
"links": {
"self": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903"
},
"relationships": {
"account": {
"links": {
"related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6"
}
},
"asset": {
"links": {
"related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749"
}
},
"asset-transfers": {
"links": {
"related": "/v2/asset-transfers?asset-transfer-method.id=df923111-47c2-456f-a6cd-5be76fb5d903"
}
},
"contact": {
"links": {
"related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd"
}
}
}
},
"included": []
}

Track a deposit

When assets are received to the provided asset-transfer-method an asset-contribution and asset-transfer will be created, once confirmation of the assets is received the asset-transfer will settle and an asset-transaction will be created. An asset-contribution can also be created ahead of time but this is not recommended.

In sandbox assets can be sent on testnets (Ropsten for ETH) or can be settled via the relevant sandbox APIs as seen below. Asset Transfers can also have contingent-holds on them which prevent the assets from being transferable out of the account. These can also be cleared via the the sandbox specific developer APIs.

Request

POST v2/asset-contributions?include=asset-transfer-method,asset-transfer
{
"data" : {
"type" : "asset-contributions",
"attributes" :{
"unit-count" : 250,
"asset-id" : "798debbc-ec84-43ea-8096-13e2ebcf4749",
"account-id" : "{{account-id}}",
"contact-id" : "{{contact-id}}",
"asset-transfer-method-id" : "{{asset-transfer-method-id}}",
"acquisition-on" : "12-04-2019",
"cost-basis" : "7500.00",
"currency-type" : "USD"
}
}
}

Response

{
"data": {
"type": "asset-contributions",
"id": "3ca49a6d-4fee-49b8-a638-8195cb4938d1",
"attributes": {
"acquisition-on": "2019-04-12",
"cost-basis": 7500,
"currency-type": "USD",
"unit-count": 250,
"unit-count-expected": 250
},
"links": {
"self": "/v2/asset-contributions/3ca49a6d-4fee-49b8-a638-8195cb4938d1"
},
"relationships": {
"account": {
"links": {
"related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6"
}
},
"asset-transfer": {
"data": {
"type": "asset-transfers",
"id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc"
}
},
"asset-transfer-method": {
"data": {
"type": "asset-transfer-methods",
"id": "df923111-47c2-456f-a6cd-5be76fb5d903"
}
},
"contact": {
"links": {
"related": "/v2/contacts?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"currency": {
"links": {
"related": "/v2/currencies/USD"
}
}
}
},
"included": [
{
"type": "asset-transfer-methods",
"id": "df923111-47c2-456f-a6cd-5be76fb5d903",
"attributes": {
"acquisition-on": "2019-04-12",
"asset-transfer-type": "bitcoin",
"cost-basis": 7500,
"created-at": "2019-12-04T19:06:59Z",
"currency-type": "USD",
"label": "Deposit Address for Counterparty 1",
"inactive": false,
"single-use": false,
"transfer-direction": "incoming",
"wallet-address": "mqtVQx2rtiQ98HyZ9aR8Aob3p69Pjoz7gf"
},
"links": {
"self": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903"
},
"relationships": {
"account": {
"links": {
"related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6"
}
},
"asset": {
"links": {
"related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749"
}
},
"asset-transfers": {
"links": {
"related": "/v2/asset-transfers?asset-transfer-method.id=df923111-47c2-456f-a6cd-5be76fb5d903"
}
},
"contact": {
"links": {
"related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd"
}
}
}
},
{
"type": "asset-transfers",
"id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc",
"attributes": {
"cancelled-at": null,
"created-at": "2019-12-06T19:13:34Z",
"contingencies-cleared-on": null,
"status": "pending",
"unit-count": 250,
"unit-count-expected": 250,
"settlement-details": null
},
"links": {
"self": "/v2/asset-transfers/10fbaac4-a7f1-4210-9858-859a3b45ccfc"
},
"relationships": {
"contingent-holds": {
"links": {
"related": "/v2/contingent-holds?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc"
}
},
"account": {
"links": {
"related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6"
}
},
"asset": {
"links": {
"related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749"
}
},
"asset-contribution": {
"links": {
"related": "/v2/asset-contributions?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"asset-disbursement": {
"links": {
"related": "/v2/asset-disbursements?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"asset-transfer-method": {
"data": {
"type": "asset-transfer-methods",
"id": "df923111-47c2-456f-a6cd-5be76fb5d903"
}
},
"contact": {
"links": {
"related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd"
}
},
"disbursement-authorization": {
"links": {
"related": "/v2/disbursement-authorizations?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"settled-asset-transaction": {
"data": null
}
}
}
]
}
**Request**
```json
POST v2/asset-transfers/{{asset-transfer-id}}/sandbox/settle

Response

{
"data": {
"type": "asset-transfers",
"id": "10fbaac4-a7f1-4210-9858-859a3b45ccfc",
"attributes": {
"cancelled-at": null,
"created-at": "2019-12-06T19:13:34Z",
"contingencies-cleared-on": "2019-12-06",
"status": "settled",
"unit-count": 250,
"unit-count-expected": 250,
"settlement-details": "Settled via sandbox API"
},
"links": {
"self": "/v2/asset-transfers/10fbaac4-a7f1-4210-9858-859a3b45ccfc"
},
"relationships": {
"contingent-holds": {
"links": {
"related": "/v2/contingent-holds?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc"
}
},
"account": {
"links": {
"related": "/v2/accounts/2053f64b-3631-4e64-a611-0bd09e687af6"
}
},
"asset": {
"links": {
"related": "/v2/assets/798debbc-ec84-43ea-8096-13e2ebcf4749"
}
},
"asset-contribution": {
"links": {
"related": "/v2/asset-contributions?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"asset-disbursement": {
"links": {
"related": "/v2/asset-disbursements?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"asset-transfer-method": {
"links": {
"related": "/v2/asset-transfer-methods/df923111-47c2-456f-a6cd-5be76fb5d903"
}
},
"contact": {
"links": {
"related": "/v2/contacts/7ae9525b-4127-48e8-a089-80199b0383cd"
}
},
"disbursement-authorization": {
"links": {
"related": "/v2/disbursement-authorizations?asset-transfer.id=10fbaac4-a7f1-4210-9858-859a3b45ccfc&one"
}
},
"settled-asset-transaction": {
"links": {
"related": "/v2/asset-transactions/b290c2c1-3eaa-4c7b-b380-c6528b00297f"
}
}
}
},
"included": []
}

See also

  • Assets

  • Asset Transfer Methods

  • Asset Contributions

  • Account Transfers

  • Asset Transactions

  • Account Asset Totals

  • Asset Transaction Tax Lots

  • Contingent-Holds

Last updated on