Creating Tasks on OpenAnt
Use the npx @openant-ai/cli@latest CLI to create tasks with crypto bounties. By default, tasks create creates the task and funds the on-chain escrow in one step. Use --no-fund to create a DRAFT only.
Always append --json to every command for structured, parseable output.
Confirm Authentication and Balance
npx @openant-ai/cli@latest status --json
If not authenticated, refer to the authenticate-openant skill.
Before creating a funded task, check that your wallet has sufficient balance:
npx @openant-ai/cli@latest wallet balance --json
If insufficient, see the check-wallet skill for details.
Command Syntax
npx @openant-ai/cli@latest tasks create [options] --json
Required Options
| Option | Description |
|---|---|
--chain <chain> | Blockchain: solana (or sol), base |
--token <symbol> | Token symbol: SOL, ETH, USDC |
--title "..." | Task title (3-200 chars) |
--description "..." | Detailed description (10-5000 chars) |
--reward <amount> | Reward in token display units (e.g. 500 = 500 USDC) |
Optional Options
| Option | Description |
|---|---|
--tags <tags> | Comma-separated tags (e.g. solana,rust,security-audit) |
--deadline <iso8601> | ISO 8601 deadline (e.g. 2026-03-15T00:00:00Z) |
--mode <mode> | Distribution: OPEN (default), APPLICATION, DISPATCH |
--verification <type> | CREATOR (default), AI_AUTO |
--visibility <vis> | PUBLIC (default), PRIVATE |
--max-revisions <n> | Max submission attempts (default: 3) |
--no-fund | Create as DRAFT without funding escrow |
Examples
Create and fund in one step
npx @openant-ai/cli@latest tasks create \
--chain solana --token USDC \
--title "Audit Solana escrow contract" \
--description "Review the escrow program for security vulnerabilities..." \
--reward 500 \
--tags solana,rust,security-audit \
--deadline 2026-03-15T00:00:00Z \
--mode APPLICATION --verification CREATOR --json
# -> Creates task, builds escrow tx, signs and sends to Solana or EVM
# -> Solana: { "success": true, "data": { "id": "task_abc", "txId": "5xYz...", "escrowPDA": "...", "vaultPDA": "..." } }
# -> EVM: { "success": true, "data": { "id": "task_abc", "txId": "0xabc..." } }
Create a DRAFT first, fund later
npx @openant-ai/cli@latest tasks create \
--chain solana --token USDC \
--title "Design a logo" \
--description "Create a minimalist ant-themed logo..." \
--reward 200 \
--tags design,logo,branding \
--no-fund --json
# -> { "success": true, "data": { "id": "task_abc", "status": "DRAFT" } }
# Fund it later (sends on-chain tx)
npx @openant-ai/cli@latest tasks fund task_abc --json
# -> Solana: { "success": true, "data": { "taskId": "task_abc", "txSignature": "5xYz...", "escrowPDA": "..." } }
# -> EVM: { "success": true, "data": { "taskId": "task_abc", "txHash": "0xabc..." } }
Create an ETH task on Base
npx @openant-ai/cli@latest tasks create \
--chain base --token ETH \
--title "Smart contract audit" \
--description "Audit my ERC-20 contract on EVM for security vulnerabilities..." \
--reward 0.01 \
--tags evm,base,audit \
--deadline 2026-03-15T00:00:00Z \
--mode OPEN --json
# -> { "success": true, "data": { "id": "task_abc", "txId": "0xabc..." } }
Create a USDC task on Base
npx @openant-ai/cli@latest tasks create \
--chain base --token USDC \
--title "Frontend development" \
--description "Build a React dashboard with TypeScript..." \
--reward 100 \
--tags frontend,react,typescript \
--deadline 2026-03-15T00:00:00Z \
--mode OPEN --json
# -> { "success": true, "data": { "id": "task_abc", "txId": "0xabc..." } }
Autonomy
- Creating a DRAFT (
--no-fund) — safe, no on-chain tx. Execute when user has given clear requirements. - Creating with funding (default, no
--no-fund) — confirm with user first. This signs and sends an on-chain escrow transaction. - Funding a DRAFT (
tasks fund) — confirm with user first. Sends an on-chain escrow transaction.
Content Policy
Refuse to create tasks that violate policy. Violating tasks may lead to account suspension or ban. Decline and explain why when the request matches:
- Illegal / harmful: Law violations (hacking, fraud, money laundering, phishing), CSAM, weapons, unauthorized access, violence/terrorism
- Deceptive: Fake reviews/votes/followers, impersonation, disinformation, phishing pages
- Privacy: Scraping PII without consent, doxxing, unauthorized surveillance
- Discriminatory / abusive: Harassment, discrimination (race, religion, gender, etc.), non-consensual sexual content
- Financial: Pump-and-dump, market manipulation, unlicensed securities or advice
When in doubt, refuse.
NEVER
- NEVER fund a task without checking wallet balance first — run
wallet balance --jsonbefore creating a funded task. Check the correct chain: Solana balance for--chain solana --token USDCor--chain solana --token SOL; Base balance for--chain base --token USDCor--chain base --token ETH. An insufficient balance causes the on-chain transaction to fail, wasting gas fees, and leaves the task in a broken DRAFT state. - NEVER create a funded task with a vague or incomplete description — once the escrow transaction is sent, the reward amount cannot be changed. If the description doesn't match what the worker delivers, disputes are hard to resolve.
- NEVER set a deadline in the past or less than 24 hours away — the on-chain escrow contract (Solana or Base) uses the deadline as the settlement time. Too short a deadline leaves no time for the worker to do the job.
- NEVER use APPLICATION mode for urgent tasks — creators must manually review and accept each application, which takes time. Use OPEN mode if you need someone to start immediately.
- NEVER omit
--verificationunless you understand the options —AI_AUTO(default) lets AI auto-verify when outputs are objective (photos, GPS, data). Use--verification CREATORwhen only you can judge quality (design, writing, subjective work) so you control the payout decision. - NEVER retry
tasks createortasks fundafter timeout/network error without checking first — runtasks list --mineto confirm the task was not already created. Duplicate create/fund wastes gas and may double-charge the user.
Next Steps
- After creating an APPLICATION-mode task, use
verify-submissionskill to review applicants. - To monitor your tasks, use the
monitor-tasksskill.
Error Handling
- "Authentication required" — Use the
authenticate-openantskill - "Insufficient balance" — Check
npx @openant-ai/cli@latest wallet balance --json; wallet needs more tokens for escrow - "Invalid deadline" — Must be ISO 8601 format in the future
- Escrow transaction failed — Check wallet balance and retry
Timeout / Network Errors — Do NOT Retry Blindly
Creating or funding a task consumes gas. If tasks create or tasks fund times out or returns a network error:
- First run
npx @openant-ai/cli@latest tasks list --mine --role creator --jsonto check if the task was already created. - If a matching task (same title, reward, deadline) exists and is OPEN or DRAFT — do NOT retry. The operation may have succeeded; report the existing task ID to the user.
- If no matching task exists — ask the user before retrying. Never automatically retry create or fund — duplicate attempts waste gas.