Skip to main content
Requires API key A config defines charity beneficiaries and how donations are split between them. When a donation is made on-chain, the config ID determines where funds go. Configs and their recipient mappings are permanent: they cannot be deleted or archived, even if no donations have been recorded. Published config IDs can receive funds later. Each charity in a config has a weight. Weights are relative: a charity with weight 2 receives twice as much as one with weight 1. Config IDs are returned as { "hex": string, "base58": string }. hex is the on-chain bytes32. base58 is the same value encoded for Solana. Either form works in path parameters. For aggregate stats and donor rankings on configs you own, see Config Stats and Config Leaderboard.

Create a config

POST /configs Creates a new config with charity beneficiaries. At least one beneficiary is required, and at most 5 beneficiaries are allowed. The standard API fee is 20% (2,000 basis points), set by the server. Each config stores its fee when created; changes to the standard rate do not change that stored fee. Re-posting an identical set of beneficiaries for the same project at the same fee is idempotent: the API returns the existing config with status 201. The fee is part of the config ID, so posting those beneficiaries after a fee change creates a different config.
Request body Response 201
Weights in responses are strings to preserve full precision for values beyond Number.MAX_SAFE_INTEGER. Charity objects match the Charities shape, plus weight.
Error responses

List configs

GET /configs Returns a paginated list of all configs created by your developer project.
Query parameters Response

Get a config by ID

GET /configs/{configId} Returns a single config with its user and charity beneficiaries. Any valid API key can fetch a config by ID. Aggregate donation stats are not included here — use GET /configs/{configId}/stats for that.
Path parameters Response
Error responses

Config deletion is disabled

DELETE /configs/{configId} remains available to return an explicit error to existing clients. It requires an API key and never deletes or archives a config. Requests for an existing config return 403 Forbidden, including when the caller owns the config and it has no recorded donations.
Error responses