OpenTask is an open-source platform designed to streamline micro-task management for development teams using blockchain technology. Built on Starknet's Layer 2 solution, it enables:
- Create tasks: Post small jobs (e.g., bug fixes, code reviews, documentation) with transparent rewards in cryptocurrency.
- Complete tasks: Submit work and receive instant payment via secure smart contracts.
- Track tasks: Monitor progress through a clean, intuitive dashboard.
By leveraging blockchain technology, OpenTask eliminates payment friction, ensures transparent work agreements, and creates an efficient marketplace for development tasks—whether you're managing an open-source project or coordinating development work across teams.
- Trustless Collaboration: No intermediaries or escrow services needed, reducing costs and friction
- Transparent Incentives: Clear rewards and requirements visible to all participants
- Instant Payments: Automatic payment upon task approval with no invoicing or payment delays
- Ownership Records: Complete history of contributions stored permanently on the blockchain
- Borderless Participation: Global talent pool with no currency exchange or banking limitations
- Lower Transaction Costs: Starknet's Layer 2 technology provides minimal gas fees compared to other blockchain solutions
- Task Management: Create, submit, and approve micro-tasks with ease
- Smart Contract Payouts: Cairo-based escrow contract locks and releases rewards securely
- Wallet Integration: Connects with Starknet wallets (Argent X, Braavos) for seamless transactions
- Responsive UI: Built with Tailwind CSS for a modern, mobile-friendly experience
- Frontend: Next.js T3 App (TypeScript, Tailwind CSS, tRPC)
- Smart Contract: Cairo on Starknet
- Backend: tRPC within Next.js API routes
- Blockchain: Starknet (Ethereum Layer 2)
- Tools: Starknet.js, Hardhat-Starknet, Starknet Foundry
For full technical details, see details.md.
- Node.js v18+
- Rust (for Cairo tooling)
- Starknet wallet (Argent X or Braavos)
- STRK testnet tokens (via Starknet faucet)
-
Clone the repository:
git clone https://github.com/yourusername/opentask.git cd opentask -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env # Edit .env with your configuration -
Start the development server:
npm run dev
-
Visit
http://localhost:3000in your browser
-
Install Cairo tooling:
curl -L https://get.starknet.io | sh # Follow prompts to install Scarb and other tools
-
Compile the smart contract:
cd contracts scarb build -
Deploy to testnet (requires testnet tokens):
starknet-deploy --network testnet ./target/OpenTask.json
- Connect your Starknet wallet by clicking "Connect Wallet" in the top right
- Navigate to "Create Task" and fill in:
- Task title and description
- Reward amount in STRK
- Deadline (optional)
- Submit the task, which will require a wallet confirmation
- Your task will appear in the task list once confirmed on the blockchain
- Browse available tasks on the dashboard
- Select a task and click "Accept"
- Complete the work according to the task description
- Submit your work with proof (link, description, etc.)
- Once approved by the task creator, payment is automatically released to your wallet
- Use the dashboard to view tasks you've created or accepted
- Filter by status (open, in progress, completed)
- Approve submissions for tasks you've created
# Frontend tests
npm test
# Smart contract tests
cd contracts
scarb testnpm run buildContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Starknet community for their excellent documentation and tools
- T3 Stack for the application boilerplate