---
title: "Inflow events"
---
Inflow events notify you when funds arrive in accounts or wallets. These events help you track incoming deposits in real time.

## Inflow event types

| Event type                       | Description                                                |
| :------------------------------- | :--------------------------------------------------------- |
| transfer.inflow.deposit_received | an incoming deposit was detected and a transaction created |
| transfer.inflow.completed        | the deposit was confirmed and credited to the account      |
| transfer.inflow.deposit_settled  | the deposit was fully settled                              |
| transfer.inflow.compensated      | a compensating (reversal) entry was applied to the deposit |
| transfer.inflow.payout_failed    | a payout linked to the deposit failed                      |

Both on-chain crypto deposits and payment-link funded deposits arrive as `transfer.inflow.*` events.

## When inflow events are sent

Gravv sends an inflow event when:

* A customer receives USDC or USDT to an account's wallet address via an on-chain transfer.
* Funds arrive through a payment link and are confirmed and credited to the account balance.

## Inflow event structure

The `event_data` object for inflow events contains the following fields:

| Field            | Type   | Description                                              |
| :--------------- | :----- | :------------------------------------------------------- |
| amount           | string | amount of funds received                                 |
| remark           | string | transaction description                                  |
| source           | object | details about where the funds came from                  |
| tx_hash          | string | blockchain transaction hash for verification             |
| destination      | object | destination of where the funds are going                 |
| client_reference | string | optional reference identifier, which is null for inflows |

The `source` object field has the following fields:

| Field              | Type   | Description                                     |
| :----------------- | :----- | :---------------------------------------------- |
| wallet_address     | string | blockchain address that sent the funds          |
| blockchain_network | string | network used for the transaction, which is null |

The following is a sample payload for an inflow event:

```json title="sample inflow event payload"
{
  "event_id": "841baba3-b0a5-415e-ac2f-e4ea99491f55",
  "tenant_id": "31a6fc8d-826c-496c-9e32-7396aed013d2",
  "timestamp": "2025-11-15T03:46:16.993972033Z",
  "event_data": {
    "amount": "10",
    "remark": "Crypto Funding",
    "source": {
      "wallet_address": "0x1fcb25fb286d9fa084c09988b64b40571446cde7",
      "blockchain_network": null
    },
    "tx_hash": "0x1a2078e6f572baa48cba41ee5e159f8139b77955c1c99af1196393ed300e79cb",
    "destination": {
      "id": null,
      "rail": null,
      "wallet_address": null,
      "blockchain_memo": null,
      "destination_type": null,
      "blockchain_network": null
    },
    "client_reference": null
  },
  "event_type": "transfer.inflow.completed",
  "event_category": "inflow",
  "event_group_id": "5e1fc3b7-6c73-429d-8919-cb398983cc94"
}
```

For the required fields in all Gravv webhook payloads, see [Webhook payload structure](/platform/webhooks/webhooks-overview#webhook-payload-structure).

