A comprehensive directory of funding mechanisms, apps, campaigns, research, and case studies for public goods funding in the Ethereum ecosystem.
This is the easiest way to contribute. The content is automatically formatted and validated.
-
Create a GitHub Issue using one of the templates:
-
Fill out the template with your content
- Add banner image under
## Banner Imagesection (if applicable) - Use the Chladni Particles generator. PressRto randomize. - Add logo image under
## Logosection (if applicable) - Fill in all metadata fields
- Write your content using markdown formatting
- Add banner image under
-
Preview your submission — a bot will comment on your issue with a preview link, or visit directly:
https://gitcoin.co/preview?issue=<issue-number>&type=<content-type> -
Publishing — a maintainer adds the
approvedlabel, which automatically creates a PR with your content. Alternatively, maintainers can publish manually:npm run publish-app <issue-number> npm run publish-mechanism <issue-number> npm run publish-research <issue-number> npm run publish-case-study <issue-number> npm run publish-campaign <issue-number>
Create markdown files directly in the content directories.
Directory Structure:
src/content/
├── apps/ # App submissions
├── mechanisms/ # Funding mechanisms
├── research/ # Research articles
├── case-studies/ # Case studies
└── campaigns/ # Funding campaigns/rounds
File Format:
---
# YAML frontmatter with metadata
title: "Your Title"
slug: "your-slug"
# ... other fields
---
Your content here in markdown format.See existing files in each directory for the exact frontmatter schema required.
Images for Manual Contributions:
Each content item has its own image folder at public/content-images/{category}/{slug}/:
public/content-images/
├── campaigns/
│ └── gg24-upcoming/
│ └── banner.svg # Banner/cover image
├── case-studies/
│ └── protocol-guild-ecosystem-funding/
│ └── banner.png
├── research/
│ └── ethereum-public-goods-funding-sources-the-next-era/
│ ├── banner.png # Banner image
│ ├── funding-sources.png # Inline image (named from alt text)
│ └── image-1.png # Inline image (auto-numbered)
├── apps/
│ └── gitcoin-grants-stack/
│ ├── banner.png
│ └── logo.svg # Logo/icon (square format)
└── placeholder.png # Fallback image
- Banner:
public/content-images/{category}/{slug}/banner.{ext}— reference asbanner: "/content-images/{category}/{slug}/banner.png" - Logo:
public/content-images/{category}/{slug}/logo.{ext}— reference aslogo: "/content-images/{category}/{slug}/logo.svg" - Inline images: Same folder, named from alt text or numbered — reference as
 - Accepted formats: PNG, JPG, SVG
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run buildnpm run publish-app <issue-number>- Create app from GitHub issuenpm run publish-mechanism <issue-number>- Create mechanism from GitHub issuenpm run publish-research <issue-number>- Create research from GitHub issuenpm run publish-case-study <issue-number>- Create case study from GitHub issuenpm run publish-campaign <issue-number>- Create campaign from GitHub issuenpm run publish-all- Publish all open GitHub issues at oncenpm run sync-docs- Sync content files from src/content to OpenAI vector store for AI chat
Banner Images (Optional)
- Dimensions: 1600x900px (16:9 aspect ratio) or 1200x600px (2:1 aspect ratio) recommended
- Where to add: Place under the
## Banner Imagesection in the GitHub issue template - Format: PNG or JPG only
- Used as the hero image at the top of content pages and for social media previews
- Generator: Use the Chladni Particles generator to create banner images. Export as square or landscape. Press
Rto randomize.
Logo Images (Optional)
- Dimensions: Square format recommended (e.g., 256x256px, 512x512px)
- Aspect ratio: 1:1 (square)
- Where to add: Place under the
## Logosection in the GitHub issue template - Format: PNG or JPG only
- Used for thumbnails, cards, and branding
Additional Images
- Can be added anywhere in the
## Descriptionsection - All images are automatically downloaded and optimized
- Image paths are automatically updated in the generated markdown
- Use markdown formatting in GitHub issues
- Supports standard markdown: headings, lists, links, code blocks
- Follow the enum values exactly (e.g.,
analysisnot'analysis') - Use slugs for references (e.g.,
quadratic-funding,gitcoin-grants-stack) - Dates in
YYYY-MM-DDformat
slug (all content types, optional)
- Override the auto-generated slug (which is derived from the issue title)
- Required when updating existing content to ensure the correct file is overwritten
- Example:
slug: quadratic-funding
featured (all content types, optional)
- Set
featured: trueto feature an item on the homepage - Featured apps and campaigns are displayed in their respective homepage sections
sensemakingFor (research only, optional)
- Marks a research article as a "sensemaking" piece for a specific category
- Valid values:
mechanisms,apps,campaigns,case-studies,research - Each category page displays its sensemaking article at the top in a dedicated section
- On the
/researchpage, sensemaking articles also appear in the normal grid - Banner images for sensemaking articles should use a wider 3:1 aspect ratio (e.g., 1800x600px)
- Example:
sensemakingFor: mechanisms