# Cryptocurrency Transfers

### Overview

Callbacks for cryptocurrency transfers can be categorized into four different notification types:

* `CRYPTO_DEPOSIT_CREATED`
* `CRYPTO_DEPOSIT_UPDATED`
* `CRYPTO_WITHDRAWAL_CREATED`
* `CRYPTO_WITHDRAWAL_UPDATED`

All four notifications have the same data field form. These notifications are sent when a cryptocurrency deposit is received, when a withdrawal is created or when either of the two is updated.

The status field describes the state of the transfer and can be any of the following values:

* `Pending`
* `Frozen`
* `Failed`
* `Completed`

`Failed` and `Completed` are both terminal states. Deposits will be Frozen if they don’t pass AML checks.

### Data Object:

| Field                 | Description                                |
| --------------------- | ------------------------------------------ |
| AccountsId            | Associated account Id (will be deprecated) |
| TransactionsId        | Associated transaction Id                  |
| SourceAccountsId      | Associated source account                  |
| DestinationAccountsId | Associated destination account             |
| TransactionHash       | Transaction hash                           |
| SourceAddress         | Transfer source address                    |
| DestinationAddress    | Transfer destination address               |
| Amount.Asset          | Asset code                                 |
| Amount.Amount         | Amount deposited or withdrawn              |
| NetworkFee.Asset      | Network fee asset code                     |
| NetworkFee.Amount     | Network fee amount                         |
| Status                | Transfer status                            |

### Data Example

```json
{
    "Id": "1772fe26-f6b3-497c-9ab6-fe2f7929aaff",
    "Type": "CRYPTO DEPOSIT CREATED"
    "Data": {
        "AccountsId": 1598,
        "TransactionsId": 13339,
        "SourceAccountsId": 1598,
        "DestinationAccountsId": 1688,
        "TransactionHash": "Oxd04631fa738e60209a4814d2699205768c1441aea490f4cb1adf5e2ce53cf367"
        "SourceAddress": "Ox75C0c372da875a4Fc78E8A37f58618a6D18904e8"
        "DestinationAddress": "OxB8a10b113f13fA0C51a6a8d9a121a4c0bfb52154"
        "Amount": {
        "Asset": "USDC"
        "Amount": 1.0
        },
        "NetworkFee":{
            "Asset": "ETH"
            "Amount": 0.000008518119213712
        },
        "Status": "Pending"
    }
}
```
