• Stars
    star
    1,018
  • Rank 45,203 (Top 0.9 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created about 5 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Web3 Foundation Grants Program

Web3 Foundation Grants Program

👋 Introduction

As part of our commitment to promoting the Web3 ecosystem, we offer a comprehensive grants program focused on funding software development and research efforts related to Polkadot and Kusama. For more information about the Web3 Foundation, please visit the About page on our website.

Guidelines

Anyone is welcome to apply for a grant. Projects funded through our programs are broad in scope, but our focus lies on strong technical projects that add value to the ecosystem.

Generally, your project will have better chances to be accepted if:

  • It presents a well-researched or tested concept, for which ideally you are able to show some prior work.
  • You can demonstrate that the project will be maintained after completion of the grant, be it through an obvious commitment to the technology from your side, additional funding sources or an existing business model.
  • Your team has proven experience with the relevant languages and technologies and/or a strong technical background. You will be asked to provide the GitHub profiles of your team members as part of your application, which we will examine for past activity and code quality. Naturally, you can also link to projects on other platforms.
  • Your application is rich in technical details and well-defined.
  • You can clearly present how your project stands out among competitors or implements technology that doesn't exist in the ecosystem yet.

Additionally, it must fulfill the following requirements:

  • All code produced as part of a grant must be open-sourced, and it must also not rely on closed-source software for full functionality. We prefer Apache 2.0, but GPLv3, MIT or Unlicense are also acceptable.
  • We do not award grants for projects that have been the object of a successful token sale.
  • Applications must not mention a specific token. Furthermore, the focus of the application should lie on the software that is being implemented/research being carried out as part of the grant, and less on your project/venture/operation. For the purpose of the application and delivery, think about how others might also benefit from your work.
  • As a general rule, teams are asked to finish a grant before applying for another one.
  • Lastly, we do not fund projects that actively encourage gambling, illicit trade, money laundering or criminal activities in general.

In addition to the information provided on your application, note that your project will need to comply with our Guidelines for Milestone Deliverables. In particular, we require all projects to create documentation that explains how their project works. At a minimum, written documentation is required for funding. Tutorials or videos are also helpful for new users to understand how to use your product.

Please also heed our Announcement Guidelines for grant-related communications.

Finally, we take licensing and the right of all teams in and outside the ecosystem to be recognised for their work very seriously. Using others' work with no attribution or indication that this was not your own work as part of a milestone delivery will lead to immediate termination. Please reach out to us before submitting if you have any doubts on how to comply with a specific license and we'll be happy to help.

We also try to enforce our code of conduct and based on this may block users.

Project Ideas

An overview of existing projects in the Web 3.0 Technology Stack along with broad project ideas we would potentially be interested in funding can be found here, as well as a list of previously accepted applications here.

Requests For Proposals (RFPs) represent concrete ideas for projects that we would like to see implemented. Several teams may apply for the same RFP, so even if another team has already applied to implement a certain RFP, we invite you to do the same if you're interested.

Finally, you don't need to start your own project in order to be eligible for a grant. Instead, some teams choose to port existing work to Substrate, where the pertinent licenses allow, or even to contribute to an existing open-source project. In the latter case, you should check in advance that the maintainers of the project are interested in your contribution, and the acceptance of the milestones will generally be tied to the inclusion of your work in said project. See the Maintenance Grants section for more info.

If you have a good concept of the technical challenges that your idea entails and would like feedback/input before submitting it, you can send us an email and tell us about it.

Support

The scope of our Grants Programs consists of funding and feedback on delivered milestones. This means that we do not provide hands-on support as part of a grant, but if you face specific issues during development, we will do our best and try to direct you to the correct resources. If this sounds like something you would like however, you may also want to apply to Parity's Substrate Builders Program, which provides hands-on technical, ecosystem and strategical long-term support and access to extensive resources. You can find general documentation and more information on Substrate on the Substrate Developer Hub, and we encourage you to join the community in order to get help with specific issues or to stay up to date with the most recent developments.

For questions about the grants program itself, see our FAQ.

Team

W3F Grants Committee

The committee consists of individuals who know the funding priorities of the Polkadot ecosystem, and is responsible for evaluating grant applications and providing feedback on these.

In cases where a niche expert opinion is desirable, one of the committee members may request such a review.

W3F Grants Evaluators

Evaluators are individuals able to evaluate the technology delivered as a result of the Grants Program. The committee has the right to add or remove evaluators on the basis of supermajority.

W3F Operations Team

The Operations Team takes care of legal documents, invoicing and remittances.

🎚️ Levels

The W3F Grants Program offers different grant levels to help you best depending on your current stage.

🐣 Level 1 (= InstaGrants)

  • Target: Individuals & small teams
  • Amount: Up to $10,000
  • Requirements: 2 approvals
  • Benefits: Feedback during application process and evaluation, introduction to related teams/projects

🐤 Level 2

🐓 Level 3

  • Target: Companies/foundations with a proven track record
  • Amount: Unlimited
  • Requirements: 5 approvals (for >$100k: Web3 Foundation Council approval + Pitch call)
  • Benefits: All of the above + VC introductions

📝 Process

📢 The process below is independent of the level. Payment is made in fiat, Bitcoin, USDT (on the Polkadot and Kusama Asset Hub) or USDC/DAI (Ethereum). If you want to apply in private, you can apply ➡️ here. Note that this is generally a slower process and imposes stricter requirements on applicants.

1. Application

  1. Please read our FAQs, category guidelines, announcement guidelines and Terms & Conditions to familiarize yourself with the subtleties of grants, applications and the program as a whole.
  2. Fork this repository.
  3. In the newly created fork, create a copy of the application template (applications/application-template.md). If you're using the GitHub web interface, you will need to create a new file and copy the contents of the template inside the new one. Make sure you do not modify the template file directly. In the case of a maintenance application, use the maintenance template (maintenance template) instead. In the case of a research application, use the research template (research template) instead.
  4. Name the new file after your project: project_name.md.
  5. Fill out the template with the details of your project. The more information you provide, the faster the review. Please refer to our Grant guidelines for most popular grant categories and make sure your deliverables present a similar same level of detail. To get an idea of what a strong application looks like, you can have a look at the following examples: 1, 2, 3, 4. Naturally, if you're only applying for a smaller grant that only consists of, say, UI work, you don't need to provide as much detail.
  6. Once you're done, create a pull request in our main Grants-Program repository. The pull request should only contain one new file—the Markdown file you created from the template.
  7. You will see a comment template that contains a checklist. You can leave it as is and tick the checkboxes once the pull request has been created. Please read through these items and check all of them.
  8. Sign off on the terms and conditions presented by the CLA assistant bot as a Contributor License Agreement. You might need to reload the pull request to see its comment.

2. Application Review

  1. The committee can (and usually does) issue comments and request changes on the pull request.
  2. Clarifications and amendments made in the comments need to be included in the application. You may address feedback by directly modifying your application and leaving a comment once you're done. Generally, if you don't reply within 2 weeks, the application will be closed due to inactivity, but you're always free to reopen it as long as it hasn't been rejected.
  3. When all requested changes are addressed and the terms and conditions have been signed, someone will mark your application as ready for review and share it internally with the rest of the committee.
  4. The application will be accepted and merged as soon as it receives the required number of approvals (see levels), or closed after two weeks of inactivity. Unless specified otherwise, the day on which it is accepted will be considered the starting date of the project, and will be used to estimate delivery dates.

3. Milestone Delivery and Payment

Milestones are to be delivered on the Grant Milestone Delivery repository following the process described therein.

Changes to a Grant after Approval

  • Accepted grant applications can be amended at any time. However, this necessitates a reevaluation by the committee and the same number of approvals as an application (according to the levels). If your application has been accepted and, during development, you find that your project significantly deviates from the original specification, please open a new pull request that modifies the existing application. This also applies in case of significant delays.
  • If your delivery schedule significantly changes, please also open a pull request with an updated timeline.
  • If your deliveries are significantly delayed and we cannot get a hold of you, we will terminate the grant (3 approvals required, regardless of level. If a member of the committee creates the termination PR, only 2 more approvals are required).

📬 Suggest a Project

If you think that we should support the development of certain tools or projects that aren't in the Polkadot/Kusama tech stack, feel free to submit a suggestion using the process described below. We are particularly interested in supporting projects that could be leveraged by other builders in our ecosystem.

Submit an idea:

If you have an idea for a project or would like to highlight an area in which you'd like to see teams build, but lack the technical background to create a detailed outline, you're welcome to open an issue or add it to the tech stack as a potentially interesting project. We will review your suggestion and, if necessary, will create an RFP based on it and reach out to teams able to build it.

Submit an RFP (Request for Proposals):

Ideas generally have better chances of being implemented if they're presented in a project outline format that can be picked up straight away by a team, so if you have a good concept of the milestones required to bring your project to life, you can follow the process below and directly submit an RFP:

  1. Fork this repository.
  2. In the newly created fork, create a copy of the suggestion template (RFPs/suggestion-template.md) inside the rfps folder. Make sure you create a new file and copy the contents of the template into the new one, and do not modify the template file directly.
  3. Name the file after your idea: project_name.md.
  4. Fill out the template with the project details. Please include as many details as possible.
  5. Once you're done, create a pull request in our main Grants-Program repository. The pull request should only contain one new file—the Markdown file you created from the template.
  6. You will see the same template as for creating an application. Please replace it with this one.
  7. The RFP will be accepted and merged as soon as it receives three approvals from W3F Grants Committee members.

🛠️ Maintenance Grants

Maintenance Grants are yet another idea to get involved with the Polkadot community. If you are a user of an open-source library that has gone out of date, or you simply want to work on small new features/fix bugs in these repos, we can support your contributions via a grant. We are happy to award rolling grants on a monthly basis, as long as the work done within each time period is performed to a quality standard deemed satisfactory by the grant evaluators.

The process of applying for a Maintenance Grant is similar to what was already outlined above, but instead of defining very detailed deliverables for each milestone upfront, we will ask you to specify, where possible:

  • The repo(s) that need maintenance
  • Outline of why the specific project should continue being supported
  • Broad overview of the features/bugs that need development contributions
  • An assurance that the current project owners are willing to review/accept your contributions (a note here: if you're fully taking over the project, it would make more sense for the current owners to transfer the repository to your organisation. If you can't get in touch with them, you may, of course, work on a fork)
  • Max budget per month

Then, at the end of each month, you will need to provide a comprehensive report of the work done, including the list of issues/bugs/pull requests worked on, time spent on each of these & finally the associated cost. It is quite likely that the time allocation & cost will vary from month to month, depending on the nature of the project you're contributing to. The delivery process and format should follow that of a typical milestone delivery, as will the processing of the payment.

Please note that:

  • Maintenance grants, as the name suggests, are meant to allow teams/individuals to maintain a certain project, and not to continue its development or implement larger features. Please use the traditional application process for this purpose.
  • The 1-month timeframe is just a guideline. If you find it unsuitable for you or the chosen project for any reason, feel free to adjust as seen fit and point this out in your application.
  • Please bear in mind that the Grants Committee might be stricter in accepting maintainers when compared to typical grants, mostly selecting for applicants with proven experience in the relevant tech stacks.
  • Maintenance Grants are only awarded for fixed timeframes. The requested duration needs to be specified in the application.

💰 Referral Program

We give away 500 USD to each referral of a successful grant application by anyone having previously worked on a Web3 Foundation grant or a Polkadot Ambassador. Web3 Foundation and Parity employees do not qualify for the program, even if they previously worked on a grant.

In order to be eligible for the referral bonus, the application itself must contain the name of the Polkadot Ambassador or the GitHub account of the grantee as well as the payment address for the referral bonus (see the application template). Payment is made in Bitcoin, USDT (on Kusama or Polkadot) or USDC/DAI (Ethereum).

💡 Help

Real-time Conversation

We have a Matrix channel for grant-related questions and activities. Head over there to ask grants-related questions, share your experience with other applications and grantees, or simply hang out:

We also have Matrix/Element channels for real-time discussions on Web3 and Polkadot. Join the conversation!

Office Hours

Web3 Foundation Grants Office Hours are a chance to ask the grants team questions regarding a specific (potential) grant application. It offers

  • general guidance regarding the grants program,
  • some quick initial feedback and
  • help how to navigate the ecosystem.

Apply for Office Hours if you

  • need feedback before submitting an application,
  • want to find out what kind of support there might be available or
  • need help finding the resources you need.

It is not a chance to pitch your project, especially since only a small subset of the committee will participate in the call. To apply, please fill out the Office Hours ⏰ form. Be as specific as possible, so we can help you more quickly. We will get back to you with follow-up questions or a link for booking a timeslot.

Additional Information

🚀 Alternative Funding Sources

We encourage you to explore the alternative funding options listed below. Please note, however, that you should not seek to fund the same scope of work from multiple sources and that any team found doing so will have its Web3 Foundation support terminated.

Substrate Builders Program vs Treasury vs Web3 Grants

The following flowchart gives a rough, oversimplified view of how the W3F Grants Program, the Polkadot and Kusama treasuries and Parity's Substrate Builders Program relate, and where your project might fit best. Note that this diagram does not include any of the parachain-specific grants/builders programs other organisations are offering.

flowchart LR
    A(Project Focus)
    A -->|Development| B[Stage of Development]
    A -->|Research| C[Grants Program]
    A -->|Other| D[Treasury]
    B -->|Existing POC| E[Goal of the Application]
    B -->|No POC| F[Grants Program]
    E -->|Funding| G[Treasury or Grants Program]
    E -->|Support| H[Substrate Builders Program]
    style C stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5
    style D stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5
    style F stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5
    style H stroke:#e83e8c,stroke-width:2px,stroke-dasharray: 5 5
    
    click C "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)"
    click D "https://polkadot.network/treasury" "https://polkadot.network/treasury/" _blank
    click F "https://github.com/w3f/Grants-Program#pencil-process" "You are already in the right place :)"
    click H "https://www.substrate.io/builders-program/" "https://www.substrate.io/builders-program/" _blank

Substrate Builders Program

The Substrate Builders Program directly supports you by connecting you with Parity’s extensive resources.

Treasury

The treasury is a pot of on-chain funds collected through transaction fees, slashing, staking inefficiencies, etc. The funds held in the treasury can be spent on spending proposals. Both Polkadot and Kusama offer everyone the opportunity to apply for funding via the treasury. See:

Hackathons

From time to time, Web3 Foundation and/or Parity organise hackathons to promote quick prototyping of Polkadot related ideas. We highly encourage you to participate in these hackathons. Bear in mind, however, that you cannot submit the same work for a hackathon and the Grants Program. If you have worked or are planning to work on a project for a hackathon, your grant application should either propose a different set of features or otherwise build on top of your hackathon work. The same applies in reverse, although that will likely be less common.

The best way to find out about upcoming hackathons is by following Polkadot on the various social channels, such as Element or Twitter.

Other Grant or Bounty Programs

Below is a list of other grant and bounty programs in the Polkadot/Substrate ecosystem:

ℹ️ License

Apache License 2.0 © Web3 Foundation

More Repositories

1

General-Grants-Program

Web3 Foundation General Grants Program
590
star
2

polkadot-wiki

The source of truth for Polkadot.
JavaScript
370
star
3

schnorrkel

Schnorr VRFs and signatures on the Ristretto group
Rust
309
star
4

polkadot-validator-setup

Polkadot Validator Secure Setup
JavaScript
215
star
5

polkadot-spec

The Polkadot Protocol Specification
TeX
178
star
6

messaging

Messaging for Web3
TeX
167
star
7

PSPs

Polkadot Smart Contract Proposals
152
star
8

unbounded

Open source, freely available and on-chain funded font.
152
star
9

Grant-Milestone-Delivery

Repository to submit finished milestones
104
star
10

polkadot-deployer

Tool for deploying polkadot networks
JavaScript
101
star
11

research

Overview of W3F research initatives
JavaScript
95
star
12

consensus

Consensus for Web3
TeX
88
star
13

staking-rewards-collector

JavaScript
78
star
14

bls

Aggregatable BLS sigantures
Rust
65
star
15

1k-validators-be

Thousand Validators Program backend.
TypeScript
63
star
16

polkadot-wiki-old

The Polkadot wiki.
HTML
55
star
17

apk-proofs

Rust
50
star
18

polkadot-legacy-spec

A more technical description of Polkadot protocol
47
star
19

ring-vrf

TeX
36
star
20

jamtestvectors

The latest test vectors for JAM.
Python
31
star
21

substrate-telemetry-exporter

JavaScript
30
star
22

polkadot

Rust
30
star
23

hd-ed25519

Hierarchical derivations on Ed25519
Rust
25
star
24

polkadot-charts

Helm charts for deploying Polkadot networks.
Smarty
22
star
25

CardsAgainstBlockchain

Cards Against Blockchain
TeX
22
star
26

mooc-exercises

Exercises for Web3 MOOC
Rust
21
star
27

fflonk

Rust
21
star
28

validator-security

A collaborative document for good practice with validator security
20
star
29

1KC

Thousand Contributors Programme
20
star
30

polkadot-payouts

TypeScript
19
star
31

polkadot-watcher-validator

TypeScript
18
star
32

offences-monitor

Monitors slashable offences registered on a Substrate based chain.
JavaScript
18
star
33

w3f-education

Technical Education at Web3 Foundation
JavaScript
17
star
34

polkadot-registrar-challenger

Polkadot Registrar Service (beta)
Rust
15
star
35

ring-proof

ring-vrf ring proof v2.5
Rust
14
star
36

educhain

Parachain developed and maintained by Tech Ed team
Rust
14
star
37

polkadot-registrar-watcher

TypeScript
13
star
38

polkadot-light-paper

Light Polkadot info
12
star
39

ipfs-cluster-chart

Helm Chart for: https://cluster.ipfs.io/documentation/guides/k8s/
Shell
11
star
40

polkadot-tests

Polkadot Protocol Conformance Tests
Rust
11
star
41

polkadot-lab

Testing framework for Polkadot networks
TypeScript
11
star
42

polkadot-watcher-csv-exporter

polkadot-watcher-csv-exporter
TypeScript
11
star
43

chainspec-generator

CLI for generating the Polkadot and Kusama chain specification from Ethereum state.
TypeScript
11
star
44

faucet-bot

A DOTs-giving bot frontend to the faucet.
JavaScript
10
star
45

parachain-implementers-guide

9
star
46

ark-scale

Arkworks serialization wrapped in Parity SCALE codec
Rust
8
star
47

helm-charts

8
star
48

substrate-legacy

Rust
8
star
49

xcmp_prototype_playground

Prototyping several xcmp approaches
Rust
8
star
50

matrixbot

ChatBot for infrastructure interactions
Python
8
star
51

substrate-telemetry-chart

Smarty
7
star
52

polkadot-api-client-ts

TypeScript
7
star
53

polkadot-watcher-transaction

TypeScript
7
star
54

polkadot-dashboard

6
star
55

matrix-server-charts

Shell
6
star
56

injection-tool

Tools, scripts and utilities for making injections.
TypeScript
6
star
57

substrate-benchmarks-role

Ansible role for substrate runtime module benchmarking
Python
6
star
58

algorithmacs

Algorithmic style for Texmacs
TypeScript
6
star
59

ethereum-tracker

JavaScript
6
star
60

polkadot-docs

Polkadot Developer Documentation
6
star
61

validator-selection-tool

TypeScript
6
star
62

polkadot-claims

Claim a DOT allocation to a Polkadot public key.
Solidity
6
star
63

KTFPs

Kusama Treasury Funding Proposals
6
star
64

terraform-digitalocean-polkadot-deployer

Go
5
star
65

polkadot-react-icons

TypeScript
5
star
66

PPPs

Polkadot Protocol Proposals
TypeScript
5
star
67

terraform-ts

TypeScript
4
star
68

test-utils-ts

TypeScript
4
star
69

matrix-recorder-chart

HTML
4
star
70

helm-ts

TypeScript
4
star
71

substrate-alertrules-chart

Shell
4
star
72

polkadot-account-monitoring

Rust
4
star
73

kusama-guide-staging

staging server for kusama guide
HTML
4
star
74

components-ts

TypeScript
4
star
75

kusama-guide-hosting

Repository to deploy the Kusama Guide for hosting on GitHub Pages.
HTML
4
star
76

ethberlin4

Solidity
4
star
77

terraform-google-polkadot-lab

Creates the infrastructure for running polkadot network tests
HCL
3
star
78

polkadot-wiki-staging

polkadot wiki dev server build branch (github pages deployment)
JavaScript
3
star
79

edgeware-deployment

Dockerfile
3
star
80

cloudflare-ts

TypeScript
3
star
81

web3

3
star
82

terratest-polkadot-deployer

Go
3
star
83

polkadot-checker

JavaScript
3
star
84

terraform-google-polkadot-deployer

Go
3
star
85

teleport-role

HTML
3
star
86

terraform-azure-polkadot-deployer

HCL
3
star
87

node-docker

Dockerfile
3
star
88

NPoS-Economics

Jupyter Notebook
3
star
89

node-exporter-dashboard

3
star
90

polkadot-validator-ansible

Python
3
star
91

harvester-chart

Smarty
3
star
92

uptime-probe

Rust
3
star
93

1k-validators-candidate-verification

Rust
3
star
94

ghost-staging

Shell
3
star
95

disc2020-scalability-and-interoperability-workshop

HTML
3
star
96

algebraic-torus

A library to facilitate comptutation with algebraic torus
Sage
3
star
97

hs-p4p

p2p networking library in Haskell
Haskell
3
star
98

terraform-aws-polkadot-deployer

HCL
3
star
99

1k-watcher-claimed-payouts

A tool for generating reports about reward claims of all the 1k Validator Programme candidates.
Rust
3
star
100

crypto-ts

TypeScript
3
star