DAF Donation Flow
This page describes how to perform DAF donation using The Giving Block public API
Prerequisites
Before a donor can complete a DAF donation for an organization, DAF must be enabled for that organization. See DAF Onboarding for the one-time onboarding call, or verify the organization is ready by checking areDafDonationsEnabled: true on the response from GetOrganizationById.
Your API user must also have DAF in its allowedFlows setting. If it doesn't, please contact [email protected] to request access.
Get organizations
Get list of organizations available for donations to store their IDs using GetOrganizationsList API call.
You might need detailed information regarding organization for some reasons, for example to check whether DAF donations are enabled (areDafDonationsEnabled) or to read the organization's EIN. For such data please use GetOrganizationById API call. Please avoid calling GetOrganizationsList every time.
Get the widget URL
Use GetWidgetUrl with the organization id in the URL and daf as the donation flow. In response you'll get a widget URL that hosts Chariot's DAFpay experience for that organization.
{ "donationFlow": ["daf"] }Embed the returned URL in an iframe, open it in a modal, or link to it externally. From that point the donor experience is fully hosted by The Giving Block and Chariot β you don't render the donation form yourself.
DAFpay experience
Inside the widget, the donor:
- Chooses their DAF sponsor from the list Chariot supports (Fidelity Charitable, Schwab Charitable, Vanguard Charitable, and others).
- Authenticates with that sponsor.
- Authorizes a grant to the organization.
Once the donor completes the flow, Chariot captures the grant and The Giving Block records the donation. You do not need to submit a pledge, create a deposit address, or capture card details β none of that applies to DAF.
No native form option
Unlike crypto or card, DAF donations cannot be captured through a fully native form built on the public API. The donor-authorization step must happen inside Chariot's DAFpay UI. If you have a use case that requires bypassing the widget, please contact [email protected] before starting.
Webhook notifications
You can subscribe to sending webhook once a DAF grant is captured and synced to our database. Please see Webhook notifications documentation part for more details.
Await Deposit completed event to send receipt email or perform any other actions. This can be disabled per organization or for your API user. For example, if enabled for your user and allowed by organization, The Giving Block will not send any receipt email to the donor.
DAF donations arrive with paymentType: DAF in the webhook payload β use this to distinguish them from crypto, card, stock, and ACH donations if your integration handles multiple donation types.
Note that DAF grants are not instant. Once captured, the actual money movement from the donor's DAF sponsor to the nonprofit typically takes several business days. The webhook fires when the grant is captured, not when funds settle.
Tax receipts
DAF grants are already tax-deductible on the donor's side via their DAF sponsor. If your integration sends receipt emails, consider sending a thank-you email for DAF donations rather than a formal tax receipt to avoid donor confusion.
Updated about 17 hours ago