Open Framework

ImpactTreasury

A reusable framework for turning token fees into transparent, verifiable real-world impact campaigns.

GiggyBank is the first live deployment — built on Bags.fm, shipped at a hackathon, publicly verifiable on Solana.

What is ImpactTreasury?

ImpactTreasury is a Next.js + Supabase application template designed for one specific purpose: making token-funded impact campaigns fully transparent and publicly verifiable. Every disbursement has a proof layer — receipts, social posts, and on-chain transaction hashes — published as a permanent public record.

The entire project is driven by a single config file. Fork it, update the config, run one database migration, and you have your own transparent impact program running in minutes.

Campaign types

ImpactTreasury ships with two campaign types out of the box:

High-Tip Drop

A large, real tip delivered directly to an individual gig worker. Documented with a receipt and on-chain treasury transaction.

Cause Drop

A donation to an organization, shelter, rescue, or community cause. Same proof standard — receipt, beneficiary, treasury tx.

Both types use the same proof model. Extending with new types requires adding one value to a constants array.

How it works

Token fees power the treasury

Bags.fm fee-sharing routes a percentage of every token trade into a public, on-chain treasury wallet. ImpactTreasury connects that wallet to a public proof system.

Admin creates campaigns manually

A password-protected admin panel lets project operators create and publish campaigns. For High-Tip Drops, the treasury funds a real order placed on a gig platform — the platform determines which worker receives the job. GiggyBank funds the tip, not the assignment. Because worker assignment is handled by the platform, High-Tip Drops function as genuine surprise bonuses for the workers who receive them.

Public proof layer

Every published campaign is fully public — with a receipt, an on-chain tx you can verify on Solscan, and an optional social post. Nothing gets posted until it can be proven.

Deploy your own

To launch your own ImpactTreasury deployment, fork the GiggyBank repo and edit a single config file:

// src/giggybank.config.ts
export const config = {
  name: 'YourProject',
  tagline: 'Your tagline here.',
  token: {
    symbol: 'YOURTOKEN',
    address: '<solana-mint-address>',
    bagsUrl: 'https://bags.fm/coin/<address>',
  },
  treasury: {
    wallet: '<treasury-wallet-address>',
    solscanUrl: 'https://solscan.io/account/<address>',
  },
  social: {
    twitter: 'https://twitter.com/yourproject',
    telegram: '',
  },
  // ...
}

Run the Supabase migration, deploy to Vercel, and your project has a fully public proof layer from day one.

Live deployment

GiggyBank is ImpactTreasury in production.

Every campaign on this site is proof that the framework works — real workers, real receipts, real treasury transactions.

See the drops