[ VERIFIED CONTRACTS ]

Ethereum Sepolia Smart Contracts

All Gigly escrows and reputation tokens are governed by immutable, transparent smart contracts deployed on Ethereum Sepolia.

OptimisticEscrow

Network: Ethereum Sepolia (Chain ID 11155111)

Etherscan
0xc14cAC4CbaE8954E3bd71A04399193f099c8b451

Non-custodial escrow protocol for locking, optimistic review verification, and dispute resolution.

2.5% protocol fee (capped at 3%)24-hour review window (configurable)Arbiter split resolutionReentrancy protected

VotingDispute (Community Jury)

Network: Ethereum Sepolia (Chain ID 11155111)

Etherscan
0xA963219334f02d23c6e041e1d4af1491a2eF89D0

Decentralised community jury dispute resolution protocol powered by credentialed peer voting.

Pseudo-random juror selectionDual credential verification70/30 split logic+Contributor SBT reward

GiglyCredential (DID VC & SBT)

Network: Ethereum Sepolia (Chain ID 11155111)

Etherscan
0x7CbC2961526453E48154Bc5A045bc254Eb61B46C

Soulbound reputation credential and contributor SBT minted on escrow releases and dispute settlements.

Non-transferable ERC-721Dual-minter (Escrow + VotingDispute)Tied to did:ethr:sepoliaMathematical Sybil resistance

FreelancerRegistry

Network: Ethereum Sepolia (Chain ID 11155111)

Etherscan
0xd78CF42205dE581c06bFBc28928F20898B244eDA

Decentralised on-chain profile store for freelancer credentials, titles, skills, and rates.

Permanent on-chain persistenceZero server lock-inWallet authenticated editsGlobal discovery

USDC (Payment Token)

Network: Ethereum Sepolia (Chain ID 11155111)

Etherscan
0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238

Standard ERC-20 stablecoin used for price stability and escrow funding on Sepolia.

6 Decimals precisionSafeERC20 complianceZero volatility risk for gig budgets

Escrow State Machine & ABI Functions

createJob(freelancer, amount, description)

Transfers USDC from client to the escrow contract. Emits JobCreated. Status transitions to Funded.

submitWork(jobId, proofOfWorkURI)

Called by the assigned freelancer. Starts the review timer (reviewWindowStart = block.timestamp). Emits WorkSubmitted.

releaseFunds(jobId) / claimTimeout(jobId)

Client can approve early, or anyone can trigger claimTimeout after the review window elapses. Automatically routes fee to platform and net payment to freelancer.

dispute(jobId) / resolveDispute(jobId, split)

If work does not meet specifications, client disputes before the timer expires. On-chain arbiter decides the percentage split to ensure fair resolution.