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 typeDescription
transfer.status.pendingtransfer initiated and processing
transfer.status.completedtransfer completed successfully

Transfer event structure

The event_data object for transfer events contains the following fields:

FieldTypeDescription
amountstringamount transferred
remarkstringoptional transfer description
sourceobjectdetails about where the funds came from
tx_hashstringblockchain transaction hash for verification
destinationobjectdetails about where the funds are going
client_referencestringoptional reference identifier

The source object contains the following fields:

FieldTypeDescription
idstringidentifier for the source account or wallet
source_typestringtype of source, which can either be internal_account, internal_crypto_wallet, or crypto_wallet

The destination object contains the following fields:

FieldTypeDescription
idstringidentifier for the destination account
destination_typestringtype of destination, which can either be internal_account, external_account, crypto_wallet, or card
railstringtransfer rail, which can either be ach, wire, or sepa
wallet_addressstringblockchain address if sending to a crypto wallet
blockchain_networkstringblockchain network if sending to crypto wallet
blockchain_memostringmemo 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.