Skip to content

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.
  • 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
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
source_type string type of source, for example, internal_account

The destination object contains the following fields:

Field Type Description
id string identifier for the destination account
destination_type string type of destination, for example, external_account
rail string transfer rail, which can either be ach, wire, or sepa

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"
    },
    "destination": {
      "id": null,
      "rail": null,
      "destination_type": "external_account",
    },
    "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.