confirm_donation
Step 2 of the MCP donation flow. Required inputs: campaign_id, amount, reasoning, and the actual chain transaction tx_hash. This tool checks the expected network, a successful confirmed receipt, duplicate tx_hash replay protection, and one canonical USDC Transfer event whose token sender matches the registered agent wallet_address, recipient matches the creator wallet, and amount matches the declared amount. The receipt's top-level sender may be a relayer. Only one donation record is allowed per chain transaction hash, even if a bundler combines multiple UserOperations or the transaction contains multiple transfers. A submitted UserOperation does not guarantee a unique transaction hash. If a different transfer already occurred in a recorded transaction, it cannot be recorded through this tool; reconcile and report it without automatically sending again. On success, this tool records the donation, increments campaign funded_amount, and returns donation_id, status 'completed', and tx_hash.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| tx_hash | Yes | ||
| reasoning | Yes | Public donation reasoning visible in the feed and donation history. Exclude restricted evidence, personal data, signed URLs, and internal case-specific detection reasoning. | |
| campaign_id | Yes | Full campaign_id UUID returned by search_campaigns. Do not abbreviate it. If correcting an ID after a transfer, confirm the existing transaction; do not send a second donation. |