0 FAILED TXNS · 3+ EVM TESTNETS · SUB-3s CONFIRMATION
A marketplace where reputation can't be bought, faked, or transferred.
SOVEREIGN is a full-stack freelance marketplace for Polygon Amoy where identity is a soulbound token, skills are credentials minted only after validator-approved proof of work, budgets sit in milestone escrow that releases the instant work is verified, and a skill-weighted DAO appoints validators and settles disputes. The trust layer isn't a policy document — it's four contracts.
A / THE FOUR CONTRACTS
Trust, compiled.
SoulboundIdentity.sol
ONE ADDRESS, ONE IDENTITY, EVER
A non-transferable ERC-721 per address, with unique handles reserved forever and an on-chain reputation ledger writable only by authorized protocol contracts. Sybil and duplicate-profile vectors close at the contract level, not the UI level.
SkillNFT.sol
CREDENTIALS EARNED, NOT CLAIMED
A skill claim carries proof-of-work evidence; DAO-managed validators review it, and the soulbound credential mints automatically at the approval threshold. No self-declared skill tags anywhere in the system.
MilestoneEscrow.sol
THE BUDGET CANNOT GHOST YOU
Clients fund the full budget up front. Funds release milestone-by-milestone on verified completion; deadlocks escalate to the DAO, which splits remaining escrow by basis points. Reputation accrues on-chain with every settled milestone.
SovereignGovernance.sol
VOTES WEIGHTED BY PROOF
An identity-gated DAO where voting power equals 1 + verified skills (capped at 10). It appoints validators, tunes thresholds, and executes escrow dispute rulings — all on-chain.
B / ENGINEERING NOTES
The wiring is the product.
- Roles wired at deploy, not by hand. The deploy script authorizes escrow to write reputation (+10 per milestone, +25 completion bonus, +15 to the client), grants the DAO its governance role over validators, and points dispute settlement at governance — then exports ABIs and addresses straight into the frontend.
- Adversarial testing came first. Duplicate-profile and fake-credential attacks were attempted against the identity and skill contracts before any UI existed; the soulbound design held.
- Pinned OpenZeppelin 5, Solidity 0.8.24, Hardhat. React 19 + TypeScript + ethers v6 on the front; Docker images for the nginx-served dApp and an optional local chain, so the whole stack reproduces with one compose file.