Making Donations
Send USDC or other tokens to entities onchain.Overview
- Direct USDC: Approve and donate
- Token Swap: Any ERC20 → USDC via swap wrapper
- Native ETH: Wrapped to WETH → USDC
- Donation fees apply,
EntityDonationReceivedevent emitted - Permissionless - anyone can donate
Direct USDC Donations
Single call: invokedonate(amount) on the entity contract.
TypeScript
Python
Token Swap + Donation
Swap any ERC20 to USDC and donate:ETH Donation
Reconcile Balance
Process USDC sent directly to entity:Donation Fees
Funds also have 1.0% outbound fee on grants. Check exact fee:
registry.getDonationFee(entityAddress)
Fee timing and compounding: inbound donation fees apply when the donation is processed (e.g.,
donate() or swapAndDonate()), reducing the entity’s USDC balance by the fee immediately. Outbound fees apply when funds are transferred via grants. If you donate and then later transfer, each step applies its respective fee (they do not “compound” at one step, but both fees apply across the two actions). Always verify exact fees via the Registry before large transactions.Common Errors
Advanced Patterns
Calculate Fees
Batch Donations
Contract Integration
Next Steps
Entity State
Query entity balances and info
Entity Deployment
Deploy Orgs and Funds
Entity Best Practices
Implement production safeguards
Entity Events
Monitor donation activity