# FBO Funding Events

FBO funding events track the lifecycle of a funding transaction, the ACH debit that moves funds from a vendor's bank account into their prefunded FBO account. GrailPay emits an event when the funding transaction is created (`fbo.funding_created`), when its ACH begins processing (`fbo.funding_processing`), and when it completes, fails, or is canceled (`fbo.funding_completed`, `fbo.funding_failed`, `fbo.funding_canceled`).

All payloads below are shown in full, including the [event envelope](/docs/technical/webhooks/events/#event-envelope).

***

## `fbo.funding_created`

This webhook is triggered when a funding transaction has been created.

```json title="Event"
{
  "event": "fbo.funding_created",
  "event_uuid": "5f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
  "event_occurred_at": "2026-08-20 09:31:02",
  "event_version": 3,
  "vendor_uuid": "7c41f6a2-a4b9-4df8-9225-2c1b7312042e",
  "data": {
    "fbo_funding": {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "QUEUED",
      "currency": "USD",
      "bank_identifiers": {
        "debit_bank_id": "ach_11n4zxrp1twjebp",
        "debit_trace_id": "2145642244586478"
      },
      "amount": 100,
      "type": "fbo_funding",
      "ach_return_code": null,
      "cancel_reason": null,
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "ach_timestamps": {
        "created_at": "2024-03-20 16:00:28",
        "processed_at": null,
        "sent_at": null,
        "settled_at": "2024-03-20 17:00:27",
        "failed_at": null,
        "cancelled_at": null,
        "declined_at": null
      }
    }
  }
}
```

## `fbo.funding_processing`

This webhook is triggered when the ACH for a funding transaction has been created and has begun processing.

```json title="Event"
{
  "event": "fbo.funding_processing",
  "event_uuid": "5f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
  "event_occurred_at": "2026-08-20 09:31:02",
  "event_version": 3,
  "vendor_uuid": "7c41f6a2-a4b9-4df8-9225-2c1b7312042e",
  "data": {
    "fbo_funding": {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "QUEUED",
      "currency": "USD",
      "bank_identifiers": {
        "debit_bank_id": "ach_11n4zxrp1twjebp",
        "debit_trace_id": "2145642244586478"
      },
      "amount": 100,
      "type": "fbo_funding",
      "ach_return_code": null,
      "cancel_reason": null,
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "ach_timestamps": {
        "created_at": "2024-03-20 16:00:28",
        "processed_at": null,
        "sent_at": null,
        "settled_at": "2024-03-20 17:00:27",
        "failed_at": null,
        "cancelled_at": null,
        "declined_at": null
      }
    }
  }
}
```

## `fbo.funding_completed`

This webhook is triggered when the ACH for a funding transaction has settled.

```json title="Event"
{
  "event": "fbo.funding_completed",
  "event_uuid": "5f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
  "event_occurred_at": "2026-08-20 09:31:02",
  "event_version": 3,
  "vendor_uuid": "7c41f6a2-a4b9-4df8-9225-2c1b7312042e",
  "data": {
    "fbo_funding": {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "QUEUED",
      "currency": "USD",
      "bank_identifiers": {
        "debit_bank_id": "ach_11n4zxrp1twjebp",
        "debit_trace_id": "2145642244586478"
      },
      "amount": 100,
      "type": "fbo_funding",
      "ach_return_code": null,
      "cancel_reason": null,
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "ach_timestamps": {
        "created_at": "2024-03-20 16:00:28",
        "processed_at": null,
        "sent_at": null,
        "settled_at": "2024-03-20 17:00:27",
        "failed_at": null,
        "cancelled_at": null,
        "declined_at": null
      }
    }
  }
}
```

## `fbo.funding_failed`

This webhook is triggered when the ACH for a funding transaction has failed.

```json title="Event"
{
  "event": "fbo.funding_failed",
  "event_uuid": "5f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
  "event_occurred_at": "2026-08-20 09:31:02",
  "event_version": 3,
  "vendor_uuid": "7c41f6a2-a4b9-4df8-9225-2c1b7312042e",
  "data": {
    "fbo_funding": {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "QUEUED",
      "currency": "USD",
      "bank_identifiers": {
        "debit_bank_id": "ach_11n4zxrp1twjebp",
        "debit_trace_id": "2145642244586478"
      },
      "amount": 100,
      "type": "fbo_funding",
      "ach_return_code": null,
      "cancel_reason": null,
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "ach_timestamps": {
        "created_at": "2024-03-20 16:00:28",
        "processed_at": null,
        "sent_at": null,
        "settled_at": "2024-03-20 17:00:27",
        "failed_at": null,
        "cancelled_at": null,
        "declined_at": null
      }
    }
  }
}
```

## `fbo.funding_canceled`

This webhook is triggered when a funding transaction has been canceled.

```json title="Event"
{
  "event": "fbo.funding_canceled",
  "event_uuid": "5f1e2d3c-4b5a-6978-8a9b-0c1d2e3f4a5b",
  "event_occurred_at": "2026-08-20 09:31:02",
  "event_version": 3,
  "vendor_uuid": "7c41f6a2-a4b9-4df8-9225-2c1b7312042e",
  "data": {
    "fbo_funding": {
      "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "status": "QUEUED",
      "currency": "USD",
      "bank_identifiers": {
        "debit_bank_id": "ach_11n4zxrp1twjebp",
        "debit_trace_id": "2145642244586478"
      },
      "amount": 100,
      "type": "fbo_funding",
      "ach_return_code": null,
      "cancel_reason": null,
      "timestamps": {
        "created_at": "2024-06-25 13:57:03"
      },
      "ach_timestamps": {
        "created_at": "2024-03-20 16:00:28",
        "processed_at": null,
        "sent_at": null,
        "settled_at": "2024-03-20 17:00:27",
        "failed_at": null,
        "cancelled_at": null,
        "declined_at": null
      }
    }
  }
}
```