Transfer events
Transfer events notify you when the status of a transfer changes. These events help you track fund movements in real time.
When transfer events are sent
Gravv sends transfer events when:
- A transfer is initiated between accounts or wallets.
- The transfer is complete.
Transfer event types
The following event types are available for transfers:
| Event type | Description |
|---|---|
| transfer.status.pending | transfer initiated and processing |
| transfer.status.completed | transfer completed successfully |
Transfer event structure
The event_data object for transfer events contains the following fields:
| Field | Type | Description |
|---|---|---|
| amount | string | amount transferred |
| remark | string | optional transfer description |
| source | object | details about where the funds came from |
| tx_hash | string | blockchain transaction hash for verification |
| destination | object | details about where the funds are going |
| client_reference | string | optional reference identifier |
The source object contains the following fields:
| Field | Type | Description |
|---|---|---|
| id | string | identifier for the source account or wallet |
| source_type | string | type of source, which can either be internal_account, internal_crypto_wallet, or crypto_wallet |
The destination object contains the following fields:
| Field | Type | Description |
|---|---|---|
| id | string | identifier for the destination account |
| destination_type | string | type of destination, which can either be internal_account, external_account, crypto_wallet, or card |
| rail | string | transfer rail, which can either be ach, wire, or sepa |
| wallet_address | string | blockchain address if sending to a crypto wallet |
| blockchain_network | string | blockchain network if sending to crypto wallet |
| blockchain_memo | string | memo required for specific networks like Stellar |
The following is a sample payload for transfer events:
{
"event_id": "6c54b861-7116-4cbc-b479-4a64264eda51",
"tenant_id": "6d45104f-12db-4485-bea2-ffc3e44d60ee",
"timestamp": "2025-08-31T18:58:15.733245361Z",
"event_data": {
"amount": "1",
"remark": null,
"source": {
"id": "fd84a244-dc5a-4232-af7d-f2047bf59542",
"source_type": "internal_account"
},
"tx_hash": "57132d61922afff3653d665de84bf00f7b0a5898fb7f7f026377bd67fe2ab7ae",
"destination": {
"id": null,
"rail": null,
"wallet_address": "GDUCZEMOM4PCW2IMEIWZMW7HOZADEIAXSUFSY4GULJ2ZEYHLWLG4KRUP",
"blockchain_memo": null,
"destination_type": "crypto_wallet",
"blockchain_network": "stellar"
},
"client_reference": "2893843"
},
"event_type": "transfer.status.completed",
"event_category": "transfer",
"event_group_id": "47ef7fbd-3c4d-479a-932a-7c75c6e2842f"
}For the required fields in all Gravv webhook payloads, see Webhook payload structure.
Updated 7 days ago
