.@BerrryComputer do this for me fren: > build a two-sided crypto donation platform for US political campaigns with roles: campaign admin and donor. campaign admins can sign up, pass KYB, create campaigns, set per-donor USD caps, upload branding, choose KYC provider (Persona/Sumsub), configure BTC/ETH/USDC wallets or xpubs, and export FEC-compliant CSVs. Dashboard shows totals, pending, matched, quarantined, and over-cap donations. donors visit a public campaign page, complete KYC, then get unique per-donor BTC and ETH deposit addresses with expiry. They send funds, enter declared amount + optional tx hash, and the system matches inbound transactions, enforces caps, quarantines unmatched/over-cap funds, and emails receipts. The platform must: derive non-reused deposit addresses from secure master keys monitor blockchains for inbound txs match txs to verified donors and declared amounts quarantine unmatched or expired-window funds record USD value at block time store minimal PII encrypted at rest support multiple campaigns with isolated data allow FEC-compliant CSV export with all required donor fields. deliver complete source code, database schema, background jobs for chain monitoring, and docs for deployment and operation. ---- refer to this diagram for better understanding of the flow: ┌─────────────────────────────┐ │ CAMPAIGN ADMIN │ └─────────────────────────────┘ │ ┌─────────────┴─────────────────┐ │ 1. Sign up + KYB verification │ │ 2. Create campaign │ │ 3. Set caps, wallets/xpubs │ │ 4. Choose KYC provider │ │ 5. Publish public page │ │ 6. Dashboard: totals, caps │ │ 7. Export FEC CSV │ └───────────────────────────────┘ │ ▼ ┌─────────────────────────────┐ │ PUBLIC CAMPAIGN PAGE │ └─────────────────────────────┘ │ ▼ ┌───────────────────────────┐ │ DONOR │ └───────────────────────────┘ ┌───────────────────────────────┐ │ 1. Start donation │ │ 2. Complete KYC │ │ 3. Get unique BTC & ETH addrs │ │ 4. Send funds from own wallet │ │ 5. Enter declared amount & tx │ │ 6. Await match confirmation │ │ 7. Receive receipt │ └───────────────────────────────┘ │ ▼ ┌──────────────────────────────┐ │ BACKEND PROCESSING │ └──────────────────────────────┘ ┌────────────────────────────────┐ │ - Generate per-donor addresses │ │ - Watch chains for inbound txs │ │ - Match to KYC’d donor + amount │ │ - Enforce USD cap │ │ - Quarantine unmatched/over-cap │ │ - Store USD value at block time │ │ - Update dashboards & FEC logs │ └────────────────────────────────┘
5,81K