Crypto Deposit Declarations
Due to travel rule regulations, users must declare the source of their crypto deposits. The balance will not be reflected to your wallet unless declaration approval is provided. These endpoints allow you to list and confirm crypto deposit declarations.
For all transactions related to the private endpoint, you must authorize before sending your request.
For more information you can check our Authentication V1 article.
GET /api/v1/crypto-deposit-declarations/confirm
| Name | Type | Constraints / Default | Description |
|---|---|---|---|
| status | array[enum Confirmed|Pending] | Default: Confirmed, Pending • Unknown | Multiple: ...&status;=Confi rmed&status;=Pending |
| page | integer | >= 1 | Number of pages |
| pageSize | integer | 1..100 | Page size (max 100) |
Request Example:
GET /api/v1/crypto-deposit-declarations?page=1&pageSize=20&status=Confirmed&status=Pending
[
{
"cryptoDepositDeclarationId": 5555555,
"createdAt": "20**-**-**",
"status": "Pending",
"confirmedAt": null,
"confirmedBy": null,
"firstName": null,
"lastName": null,
"amount": 0.8000000000000000,
"symbol": "XRP",
"address": "r*****************************",
"memoTag": "55*******",
"lightningInvoice": null
},
{
"cryptoDepositDeclarationId": 5555555,
"createdAt": "20**-**-**",
"status": "Confirmed",
"confirmedAt": "20**-**-**",
"confirmedBy": "*******",
"firstName": "First Name",
"lastName": "Last Name",
"amount": 0.1,
"symbol": "BTC",
"address": "b*****************************",
"memoTag": null,
"lightningInvoice": null
}
]
Expected Status Codes:
| HTTP | Message |
|---|---|
| 200 | [] |
| 400 | page must be greater than 0 |
| 400 | pageSize must be between 1 and 100 |
| 400 | status must not contain Unknown |
POST /api/v1/crypto-deposit-declarations/confirm
| Field | Type | Rules |
|---|---|---|
| cryptoDepositDeclarationId | long | ID of the record to be approved |
| firstName | string | If isSelfSender = false, this field is required; |
| lastName | string | If isSelfSender = false, this field is required; |
| isSelfSender | boolean | If true, the name/surname sent with the request is ignored; |
| description | string | 20–100 characters are allowed. |
| exchangeId | Int | |
| exchangeOtherName | string | |
| AddressType | string | “Exchange”, “IndividualWallet” |
You can learn how to fill in the exchangeId parameters by visiting the Crypto Exchanges page.
Request Body 1 (Self Sender):
{
"cryptoDepositDeclarationId": {id},
"firstName": "Your First Name",
"lastName": "Your Last Name",
"isSelfSender": true,
"description": "20-100 Characters are allowed",
"exchangeOtherName": "Exchange Name",
"addressType": "Exchange"
}
Request Body 2 (Other Sender):
{
"cryptoDepositDeclarationId": {id},
"firstName": "First Name",
"lastName": "Last Name",
"isSelfSender": false,
"description": "20-100 Characters are allowed",
"exchangeId": 9,
"addressType": "Exchange",
}
Request Body 3 (Individual Wallet):
{
"cryptoDepositDeclarationId": {id},
"firstName": "",
"lastName": "",
"isSelfSender": true,
"description": "Your description is here",
"exchangeId": null,
"exchangeOtherName": null,
"addressType": "IndividualWallet"
}
Expected Status Codes:
| HTTP | Message |
|---|---|
| 200 | { |
| 400 | firstName and lastName required when isSelfSender is false |
| 400 | description field must be between 20 and 100 characters long |
| 400 | addressType must be provided. |
| 400 | Either exchangeId or exchangeOtherName must be provided. |
| 400 | IndividualWallet addressType cannot be associated with an exchange |
| 400 | Only one of exchangeId or exchangeOtherName must be provided. |
| 400 | exchangeId not supported. |
| 400 | exchangeOtherName cannot exceed 200 characters |
| 400 | { |
| 401 | Unauthorized |
| 404 | Not Found |
| 422 | Crypto deposit declaration already confirmed |
| 500 | An error occurred |