Smart contracts and developer tooling for fcf, the funding layer for open-source software.
fcf brings verifiable repository identity and on-chain funding infrastructure to GitHub-native software projects. The protocol is designed for teams, maintainers, and ecosystems that need transparent ownership, programmable distribution, and crypto-native coordination around public code.
At the foundation of fcf is the Repository Identity Key (RIK), an ERC-721 identity primitive that binds a GitHub repository to an on-chain token. A RIK can only be minted by the repository owner through a GitHub Actions OIDC proof, creating a public, cryptographically verifiable link between code and wallet-controlled protocol actions.
contracts/: EVM smart contracts that define protocol identity and funding primitives.cli/: command-line tooling for repository onboarding and protocol operations.
Create a Repository Identity Key to register a GitHub repository on-chain and establish verifiable proof of ownership for protocol interactions.
Note: fcf is currently testing on Base Sepolia.
Latest RIK contract:
0xc03a52cD0EB2d5d456e64bda0557Db04608d1eac
From the repository you want to register:
npm install --global @freecodexyz/cli@alpha
fcf wallet create
fcf wallet link
fcf github vars set FCF_CONTRACT 0xc03a52cD0EB2d5d456e64bda0557Db04608d1eac
fcf github vars set FCF_RPC_URL <your-base-sepolia-rpc-url> # example: https://base.sepolia.org
fcf initThen:
- Fund the created wallet with Base Sepolia ETH.
- Commit and push
.github/workflows/fcf-register.yml. - Run the
Register Repositoryworkflow from GitHub Actions.
The workflow verifies repository ownership through GitHub OIDC and mints the RIK for that repository.
For complete guides, protocol references, and deployment details, visit the official fcf documentation.
