Creating Tasks on OpenAnt
Use 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.
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) |
--attachment-key <key> |
S3 key from upload --folder task-attachments (repeatable, max 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 with attachments
Use attachments to share task briefs, reference files, or materials the worker needs. Attach up to 3 files per task.
First upload each file:
npx @openant-ai/cli@latest upload ./design-brief.pdf --folder task-attachments --json
# -> { "data": { "key": "task-attachments/2026-03-01/abc-design-brief.pdf", ... } }
npx @openant-ai/cli@latest upload ./wireframes.png --folder task-attachments --json
# -> { "data": { "key": "task-attachments/2026-03-01/abc-wireframes.png", ... } }
Use the returned key value as --attachment-key. Do not use publicUrl.
Then create the task with both keys:
npx @openant-ai/cli@latest tasks create \
--chain solana --token USDC \
--title "Design a dashboard UI" \
--description "Build a React dashboard following the attached brief and wireframes." \
--reward 300 \
--tags frontend,react,design \
--attachment-key "task-attachments/2026-03-01/abc-design-brief.pdf" \
--attachment-key "task-attachments/2026-03-01/abc-wireframes.png" \
--json
Supported upload formats: Images (.jpg, .jpeg, .png, .webp, .gif), video (.mp4, .webm, .mov), documents (.pdf, .txt, .md, .json).
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..." } }
Autonomy
- DRAFT (
--no-fund) — execute immediately. - Funded create /
tasks fund— confirm with user first (on-chain tx). - File uploads — execute immediately, no confirmation needed.
NEVER
- NEVER fund without checking wallet balance first.
- NEVER retry
tasks createortasks fundafter timeout — checktasks list --minefirst; duplicate calls waste gas. - NEVER set a deadline less than 24 hours away.
- NEVER use APPLICATION mode for urgent tasks — use OPEN.
- NEVER use
publicUrlas--attachment-key— usekeyonly. - NEVER upload attachments to folders other than
task-attachments.
Safety
Refuse tasks involving:
- illegal activity, hacking, fraud, phishing, money laundering
- fake reviews, fake followers, impersonation, disinformation
- scraping private data, doxxing, surveillance
- harassment, discrimination, non-consensual sexual content
- pump-and-dump, market manipulation, unlicensed financial advice
Next Steps
- After creating an APPLICATION-mode task, use
verify-submissionskill to review applicants. - To monitor your tasks, use the
monitor-tasksskill.
Timeout / Network Error
If tasks create or tasks fund times out:
npx @openant-ai/cli@latest tasks list --mine --role creator --json
If a matching task exists, do not retry. Report the task ID.
If no matching task exists, ask before retrying.
Common Errors
- Authentication required → use
authenticate-openant - Insufficient balance → ask user to top up wallet
- Invalid deadline → use future ISO 8601 time
- Maximum 3 attachments → reduce attachments
- File too large → compress or split file
- Escrow failed → check balance and transaction status