Proof of Competence

Proof of Competence (PoC) is an open, permissionless framework to create on-boarding journeys into the Web3 space. It uses a pluggable task system which can verify that on-chain actions have occurred. This allows to build up reputation or social (DAO) scores that proof an address is familiar with the specified technologies or protocols.

This allows to:

  • Create on-boarding journeys for developers to learn about a protocol
  • Proof an address is competent enough to have a basic understanding of a protocol
  • Novel ways to use the social (DAO) scores instead of token-weights for governance


The Proof of Competence scores can be integrated into other projects by using the API. There are 2 main endpoints to fetch the journey, as described above, or include the scores from a specific address.


The Web3 space is an exciting space to work in. An upgrade of the web that is more open, transparent and inclusive for everyone. Build on top of open-source, peer-to-peer and decentralized infrastructure.

But we need far more developers, designers and talent to help us build this. So I recently launched another side-project called useWeb3. A starting point for developers to get into the space. With a curated collection of up-to-date resources and learning material in different formats depending on your style of learning.

I wanted to create an on-boarding journey for new developers into the space so they can complete tasks, build up reputation and an on-chain resume while they're learning.

What it does

Proof of Competence is made as an open, modular framework to create different kind on-boarding journeys. Pluggable task verifiers can verify different kind of (on-chain) activities. These verifiers use public, on-chain information using RPC endpoints, the Graph or any public block explorers.

These tasks could include verifications of, e.g.

  • The user is logged in and has an active Web3 account
  • Has an ENS name with reverse lookup
  • Has an ENS avatar
  • Has deployed a contract
  • Has made a transaction
  • Has deposited funds into the Aave protocol
  • Has provided liquidity to a Uniswap pool
  • Has created and sold a collectible on Rarible
  • etc.

Scores are available either on the platform itself, using the API (see docs) or can be attested (Rinkeby) by users themselves using Ethereum Attestation Service (EAS). This allows their scores to be used in other novel ways.

One of the examples I wanted to explore, but haven't been able to get to is to use their scores as an alternative to token-weighted voting.

How we built it

  • Next.js / React app
  • Ethers
  • Web3-react
  • Full ENS integration with name + NFT lookups
  • Subgraph querying
  • WalletConnect
  • Rarible journey
  • Aave journey
  • The Graph journey
  • useWeb3 developer journey

Challenges we ran into

One of the examples I wanted to explore, but haven't been able to get to is to use their scores as an alternative to token-weighted voting.

Accomplishments that we're proud of

Working solo. Full demo.

What's next for Proof of Competence (PoC)

Looking for new ways to use PoC scores instead, or in combination with token-weights for governance to move away from current plutocracies to a more meritocratic system.

Built With

  • ethereum
  • web3
Share this project: