Campaign / Project Collections & Reconciliation
Create dedicated custodial wallets per campaign or project for fund collection and automated financial reconciliation
Summary
Create a Customer per campaign/project to get a dedicated custodial wallet and balance. Route contributors through hosted/embedded checkout and reconcile funds using webhooks + REST balances.
Problem → Solution mapping
| Pain | Capability | Mechanism |
|---|---|---|
| Per-campaign separation | Per-customer wallet | POST /v1/customers per campaign |
| Reconciliation | Balances API | GET /v1/customers/{id}/balances |
| Proof of funds | Webhooks + REST | Subscribe, validate, re-fetch |
Architecture
Implementation steps
Webhooks
Subscribe, validate HMAC, then re-fetch transfer and the campaign customer balance before updating totals.
UX choices
Hosted link for sharable pages; embed inside project page for continuity.
KPIs
Net contributions; completed transfers; reconciliation lag.
Limits & caveats
USD→USDC only. Keep campaign funds separate by Customer. REST is source of truth.
Troubleshooting
Use idempotent creation on campaign init; handle failed transfers with retry prompts.