Skip to content

[dont merge yet, for discussion] d/acc Coalition Builder — Map, Coalesce, Fund#231

Draft
owocki wants to merge 10 commits intomainfrom
coalitionbuilder3
Draft

[dont merge yet, for discussion] d/acc Coalition Builder — Map, Coalesce, Fund#231
owocki wants to merge 10 commits intomainfrom
coalitionbuilder3

Conversation

@owocki
Copy link
Contributor

@owocki owocki commented Mar 7, 2026

Summary

Adds a new d/acc Coalition Builder experiment at /experiments/dacc-coalition-builder — an interactive
tool for mapping the d/acc problem space, signaling interest in domains, and staking ETH to fund
coalitions. The goal is to create a relextive flywheel around Mapping, Coalescing, Funding.

Also introduces an /experiments listing page and reorganizes the header nav into a "Discover" dropdown.

Test url: https://stage.gitcoin.co/experiments/dacc-coalition-builder

What's included

Smart Contract (contracts/src/DaccCoalitionStaking.sol)

  • Solidity contract deployed to both Sepolia and Ethereum mainnet at
    0xd69B924c37489bc83AbEE1167f8d84916Ab2c6BB
  • Stake ETH toward any domain ID, withdraw anytime before operator deploys
  • Operator can withdraw pooled funds to a destination wallet once a domain reaches 1 ETH threshold
  • Events for staking, withdrawal, and operator deployment

4-Level Zoom Interface (CoalitionsClient.tsx)

  • 1x (zoomed out): Select your flavor of d/acc — Defensive, Decentralized, Democratic, Differential
  • 2x: Fund one of 4 quadrants (Physical Defense, Physical Coordination, Digital Defense, Digital
    Coordination)
  • 3x: Fund one of 19 specific domains (Biodefense, ZK Systems, Democratic Funding, etc.)
  • 4x (zoomed in): Fund individual projects within each domain
  • Staking works at every zoom level with tiered amounts (0.001 → 1 ETH)
  • URL state sync — zoom, quadrant filter, sort, and search are all shareable via URL params

Positions & Wallet Integration (wagmi v2)

  • "Your Positions" section reads all staking positions from the contract across all zoom levels
  • Withdraw with loading indicator and block explorer link
  • Pending transaction cards with explorer links
  • Disconnect wallet button
  • Staging/mainnet chain switching via NEXT_PUBLIC_STAGING env var

Activity Feed & Social Layer

  • PostgreSQL-backed (Supabase) persistence for interest signals, stakes, query log, and activity feed
  • "Your Activity" section (filtered by connected wallet) + "All Activity" (always visible)
  • Lazy "Load more" pagination (25 at a time)
  • ENS name resolution for addresses
  • Clickable addresses → block explorer, clickable domains → navigate to that domain
  • Trending section powered by query log

Analytics Dashboard (/experiments/dacc-coalition-builder/analytics)

  • Admin view with detailed analytics

Navigation & Brand

  • New /experiments listing page for experimental tools
  • Header reorganized: flat nav links consolidated into "Discover" dropdown
  • On-brand visual effects: teal glow blooms, gradient section dividers, card hover shadows,
    backdrop-blur zoom bar

New files

  • contracts/src/DaccCoalitionStaking.sol — staking contract
  • src/lib/staking-contract.ts — contract address, ABI, chain config
  • src/lib/coalitions-data.ts — 19 domains, 4 quadrants, d/acc taxonomy
  • src/lib/coalitions-db.ts — PostgreSQL persistence layer
  • src/app/api/coalitions/route.ts — REST API for social/engagement data
  • src/app/experiments/dacc-coalition-builder/ — page, client, layout, wallet provider, domain map
  • src/app/experiments/page.tsx — experiments listing

Environment

Requires DATABASE_URL pointing to a PostgreSQL instance (Supabase). Tables auto-create on first
request.

Test plan

  • Visit /experiments — listing page renders with Coalition Builder card
  • Visit /experiments/dacc-coalition-builder — page loads with Chladni header
  • Toggle zoom levels 1x→4x — appropriate cards render at each level
  • Filter by quadrant and sort by raised/interest/alpha at zoom 3x/4x
  • Search for a project at zoom 4x
  • Share a URL with ?zoom=4&q=gitcoin — recipient sees the same view
  • Connect wallet, stake at each zoom level — tx confirms onchain
  • Verify pending tx card appears with block explorer link
  • Verify position appears in "Your Positions" after confirmation
  • Withdraw a position — loading state, explorer link, position disappears
  • Disconnect wallet — positions section shows connect prompt
  • Activity feed shows stakes/interest, "Load more" fetches next page
  • ENS names resolve for known addresses in activity feed

@vercel
Copy link

vercel bot commented Mar 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
gitcoin-co-30 Ready Ready Preview, Comment Mar 7, 2026 4:08pm

Request Review

@cristinalare cristinalare marked this pull request as draft March 9, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant