Disbursements

How It Works

Platform Onboarding

1. Set up account

Create a Chariot Deposit Account

2. Fund your account

Add funds to your Chariot Deposit Account

3. Send a payment

Send your first disbursement to a verified nonprofit

To get started with Chariot Disbursements, you’ll need to register for an account with Chariot, open a Chariot Deposit Account, and go through the onboarding processes for both.

After you are approved and verified, you’ll be given access to a dashboard where you will be able to manage and create API Keys.

Send a Disbursement

This section provides the steps required to send a disbursement via API. Note, you can also initiate and send disbursements directly from your dashboard.

1

Fund your account

First, you’ll need to fund your Chariot Deposit Account with the amount of money you’d like to send in disbursements.

You can do this by creating an Inbound Transfer. Note that the funds will need to be available in your Chariot Deposit Account before you can create and send disbursements. You can use the GET Financial Account Balance endpoint to check the balance of the account.

POST
/v1/inbound_transfers
1curl -X POST https://api.givechariot.com/v1/inbound_transfers \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "amount": 10000,
6 "account_id": "account_01jpjenf5q6cawy43yxfcrxhct"
7}'
2

Find an Organization

Next, search for the nonprofit organization using their name or EIN:

GET
/v1/organizations/search
1curl -G https://api.givechariot.com/v1/organizations/search \
2 -H "Authorization: Bearer <token>" \
3 -d q=q

If the organization cannot be found through Chariot’s search, you can submit a Verification Request to have Chariot’s compliance team review and verify the organization. See Disbursing to Unlisted Organizations below.

3

Create a Disbursement

Finally, create a Disbursement to the Organization with the amount that you want to send.

You can create multiple Transactions for a single Disbursement to attribute multiple individual donations to the same Disbursement.

POST
/v1/disbursements
1curl -X POST https://api.givechariot.com/v1/disbursements \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "organization_id": "org_01j8rs605a4gctmbm58d87mvsj",
6 "amount": 24000,
7 "transactions": [
8 {
9 "amount": 15000,
10 "type": "donor_advised_fund_grant",
11 "fee_amount": 500,
12 "description": "Grant from Doe Family Fund",
13 "donor_advised_fund_grant": {
14 "grant_id": "grant_1234567890",
15 "organization_name": "Miami Charitable",
16 "fund_name": "Doe Family Charitable Fund",
17 "purpose": "General Operating Support",
18 "donors": [
19 {
20 "first_name": "Jane",
21 "last_name": "Doe",
22 "email": "jane.doe@example.com"
23 }
24 ]
25 }
26 },
27 {
28 "amount": 10000,
29 "type": "donor_advised_fund_grant",
30 "fee_amount": 500,
31 "description": "Grant from Smith Family Fund",
32 "donor_advised_fund_grant": {
33 "organization_name": "LA Charitable",
34 "fund_name": "Smith Family Legacy Fund",
35 "purpose": "Program Support",
36 "donors": [
37 {
38 "first_name": "John",
39 "last_name": "Smith",
40 "email": "john.smith@example.com"
41 }
42 ]
43 }
44 }
45 ]
46}'

Once you receive a successful response, Chariot will use the funds in your account to push a payment to the organization. You can call the GET Disbursement endpoint to see the status of the submission.

To learn more about how to handle errors, please refer to the FAQ.

Disbursing to Unlisted Organizations

If the organization you want to disburse to is not found through Chariot’s Search Organizations endpoint, you can use the Verification Request API to request that Chariot’s compliance team verify the organization.

1

Create a Verification Request

Submit a verification request with the organization’s EIN, name, and mailing address. You can track the status of the request using the GET Verification Request endpoint.

POST
/v1/verification_requests
1curl -X POST https://api.givechariot.com/v1/verification_requests \
2 -H "Authorization: Bearer <token>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "ein": "123456789",
6 "organization_name": "Local Community Foundation",
7 "recommended_mailing_address": {
8 "line1": "123 Main St",
9 "city": "San Francisco",
10 "state": "CA",
11 "zip_code": "94105"
12 }
13}'
2

Create a Disbursement

Use the organization_id from the verification request response to create a disbursement. By default, the disbursement will wait for Chariot’s compliance team to verify the organization before proceeding. You can optionally set bypass_chariot_organization_verification to override this behavior:

  • false (default): The disbursement will remain in the awaiting_verification status until Chariot’s compliance team has verified the nonprofit.
  • true: The disbursement will proceed through its normal lifecycle without waiting for Chariot to verify the organization. Only set this if you have independently verified the organization and do not want to wait for or rely on Chariot’s verification.
3

Monitor Verification Status

You can track the progress of the verification by polling the GET Verification Request endpoint or by subscribing to verification_request.updated webhook events. The status will transition through:

StatusDescription
needs_reviewThe request has been submitted and is awaiting review by Chariot’s compliance team
verifiedThe organization has been verified as tax-exempt and eligible for disbursements
failedThe compliance team determined the organization is not eligible

Disbursements without bypass_chariot_organization_verification enabled will remain in awaiting_verification until the verification request status is verified.

Once the verification request is verified, eligible disbursements will progress as usual. However, some disbursements may not move out of awaiting_verification immediately, as additional review steps may be required on a per-disbursement basis.

Chariot Disbursements for Nonprofits

Chariot provides a service to nonprofits to facilitate receiving disbursements from grantmakers and other platforms.

If a nonprofit has a Chariot Deposit Account, Chariot is able to present a consolidated view of all payments received by the nonprofit in their dashboard across all grantmakers. In this case, a payment should settle instantly.

If a nonprofit does not have a Chariot Deposit Account, they can still receive payments via Chariot’s Disbursements. In this case, Chariot will mail a paper check to the nonprofit’s verified postal address.