Freelance without the middleman.
WorkFox is a decentralised freelance marketplace on the Algorand blockchain — where smart contracts replace escrow services, where reputation is on-chain and portable, and where every payment is instant, transparent, and irreversible.
The Story
The Problem
Traditional freelance platforms take 20% of every transaction. Payment disputes are resolved by the platform — opaquely, slowly, and often unfairly. Freelancers have no portable reputation — five years of work on one platform is worthless if that platform changes its algorithm or bans the account. Clients have no guarantee funds reach the freelancer before work is done.
Why It Matters
Freelancing is the livelihood of 1.5 billion people globally. A 20% platform tax on that income is not a feature — it is extraction. Decentralised escrow via smart contracts eliminates the middleman entirely, putting full value back in the hands of creators and clients.
The Solution
A React.js frontend connected to Algorand smart contracts (ARC-4) via Pera Wallet. Clients post jobs and lock payment in a smart contract escrow. Freelancers deliver work. On mutual approval, the contract releases payment atomically. Dispute resolution is handled by an on-chain arbitration mechanism — no platform involvement.
Product Features
Client funds are locked in an Algorand smart contract on job acceptance. The freelancer can see the funds are committed — they know they will be paid. Funds release only on dual approval or arbitration.
Ratings and completed project records are written to the Algorand blockchain — portable, tamper-proof, and not controlled by any platform. A freelancer's reputation is truly theirs.
Filterable job board with category, budget, timeline, and required skills. Freelancers apply on-chain — application records are visible to both parties.
If client and freelancer can't agree on work completion, a random panel of three arbitrators is selected from staked platform participants. Their majority vote executes the contract.
System Architecture
Technical Deep Dive
The escrow contract has three parties: client, freelancer, arbitrator pool. On job acceptance, the client calls fund_escrow() which transfers ALGO into the contract's minimum balance. On work approval, release_payment() atomically transfers ALGO to the freelancer and writes the completion record. On dispute, request_arbitration() locks the contract and emits an arbitrator selection event. The arbitrator panel's majority vote calls either release_to_freelancer() or refund_to_client().
@router.method
def release_payment(job_id: abi.Uint64) -> Expr:
return Seq(
Assert(Txn.sender() == client.get()),
Assert(job_status.get() == STATUS_DELIVERED),
InnerTxnBuilder.Execute({
TxnField.type_enum: TxnType.Payment,
TxnField.receiver: freelancer.get(),
TxnField.amount: escrow_amount.get(),
}),
job_status.set(STATUS_COMPLETED),
Pop(reputation.get()), # update on-chain rep
)Ethereum gas fees for small freelance payments (e.g. $50 job) can exceed the payment value during congestion. Algorand's fee is a flat ~$0.001 per transaction regardless of network load, with 4-second finality. For a freelance marketplace where payments range from $10 to $10,000, this is the only viable choice. Algorand's ARC-4 ABI standard also gives clean typed smart contract interfaces equivalent to Solidity's ABI.
Engineering Decisions
Performance & Scale
Deployment & Infrastructure
Deployment
Algorand smart contracts on Algorand testnet (mainnet-compatible). React frontend on Netlify. Pera Wallet for all transaction signing.
CI/CD
GitHub Actions — PyTEAL contract tests + React lint on PR. Auto-deploy to Netlify on merge.
Monitoring
Algorand Explorer for on-chain transaction monitoring. AlgoNode indexer for contract state queries.
Challenges & Failures
What I Learned
Algorand is genuinely the right chain for payment-heavy dApps — the fee model and finality time are not just marketing.
On-chain reputation only works if the data model is designed for portability from day one — retrofitting portability is painful.
Smart contract escrow eliminates trust requirements — but the UX around connecting wallets and signing transactions still needs to feel simple.
Future Roadmap
v2.0 — 2026
Screenshots
Decentralised job board with on-chain escrow
Payment escrow flow — client locks, freelancer delivers, contract releases
Technology Stack
Smart Contract
Blockchain
Wallet
Frontend
Web3 Library
Deployment
Ready to dive in?