A decentralized freelance marketplace with evolvable NFTs for reputation and transparent on-chain history
MintedIn transforms the freelance economy by using NFTs as on-chain reputation identities. Our platform leverages blockchain technology to create a more transparent, fair, and efficient marketplace for freelancers and clients.
- Evolving Freelancer NFTs: Start at Bronze tier and evolve to Silver, Gold, and higher tiers based on performance
- Client NFTs: Reflect hiring history, total spend, and ratings as a client
- On-Chain Verification: All reputation data is transparent and immutable on the blockchain
- Lower Fees: Significantly reduced fees compared to traditional platforms (Upwork, Fiverr)
- Smart Contract Escrow: Secure, automated payment release when work is completed
- Dispute Resolution: Fair resolution process managed by trusted community members
- Job Creation and Funding: Clients create and fund jobs with native cryptocurrency
- Work Submission and Approval: Clear process for submitting and approving completed work
- Rating and Feedback: Performance metrics directly impact NFT evolution
MintedIn is built on three core contracts:
- FreelancerNFT: ERC-721 token representing freelancer reputation and skills
- ClientNFT: ERC-721 token representing client reputation and history
- FreelanceMarketplace: Central contract managing jobs, payments, and the reputation system
- Node (>= v18.18)
- Yarn (v1 or v2+)
- Git
- Install dependencies:
yarn install- Install Foundry dependencies:
cd packages/foundry
forge install openzeppelin/openzeppelin-contracts --no-commit
forge install foundry-rs/forge-std --no-commit
cd ../..- Run a local network:
yarn chain- Deploy the contracts:
yarn deploy- Start the frontend:
yarn startVisit your app on: http://localhost:3000
We've created comprehensive tests for all contracts in the packages/foundry/test directory:
# Run all tests
yarn foundry:test
# Run specific test files
cd packages/foundry
forge test --match-path test/FreelancerNFT.t.sol
forge test --match-path test/ClientNFT.t.sol
forge test --match-path test/FreelanceMarketplace.t.solFreelancerNFT: 0x0eA71b3062Ee87Ec2EFbB3Ef1649174ab56261B5
ClientNFT: 0xE5267ad87985d9ddddE8D4962e1CD81272a68CdC
FreelanceMarketplace: 0x840FbcaaED5cA99f53F24ED4A7E904a0a11cBD91
- Gamified Engagement: Evolving NFTs represent growth and reliability, encouraging quality work
- Transparent Reputation: On-chain progression means reputations cannot be faked
- Lower Fees: Direct interactions reduce middleman costs
- Portable Identity: Your reputation travels with you across the Web3 ecosystem
- Community Governance: Platform rules and improvements decided by active participants
- Smart contracts are in
packages/foundry/contracts - Frontend is built with NextJS in
packages/nextjs - Tests are in
packages/foundry/test
Built with ❤️ using Scaffold-ETH 2