Skip to content

feat: add Taskmarket action provider - #1441

Open
ZachDreamZ wants to merge 1 commit into
coinbase:mainfrom
ZachDreamZ:feat/taskmarket-action-provider
Open

feat: add Taskmarket action provider#1441
ZachDreamZ wants to merge 1 commit into
coinbase:mainfrom
ZachDreamZ:feat/taskmarket-action-provider

Conversation

@ZachDreamZ

Copy link
Copy Markdown

Summary

Adds a taskmarketActionProvider so an AgentKit agent can treat Taskmarket as a delegated worker market on Base mainnet (chain 8453).

Taskmarket is a competitive on-chain job market. This provider lets an agent notice when a request is better handled by external workers, show the user the exact spend, and only then create a task through the official Taskmarket CLI (no private keys in AgentKit).

Why this belongs in AgentKit

AgentKit already has wallets, spend limits, and x402. Taskmarket is the missing delegation surface: when inference is the wrong tool, the agent can propose paying a worker on Base instead of looping.

Coinbase AgentKit is listed as a first-party integration target in Taskmarket's own integration bounties. The repo has no existing Taskmarket provider.

User flow

  1. list_taskmarket_tasks / get_taskmarket_task — public REST, read-only, no spend.
  2. preview_taskmarket_task — shows description, deliverables, gross reward, 7.5% platform fee, duration, mode, Base / chain 8453, and maxSpendUsdc. Issues a confirmation token. Does not create or fund.
  3. User must explicitly authorize.
  4. create_taskmarket_task — requires the matching confirmation token and iAuthorizeSpend: true. Calls taskmarket task create. Reward must be <= maxSpendUsdc.
  5. list_taskmarket_submissions — presents work for human review. There is no accept/reject action.

Safety

  • Default maxSpendUsdc is 0 (creates blocked until the operator sets a cap).
  • Confirmation tokens are bound to the exact payload and expire in 15 minutes.
  • If the official CLI times out, settlement is treated as unknown and the provider refuses to retry.
  • Duplicate identical creates in-session are blocked.
  • The provider never requests, stores, logs, or commits private keys, seeds, or tokens.
  • The provider never silently accepts or rejects worker submissions.

Tests

New unit tests cover browse, preview, unauthorized create, token mismatch, authorized create via mocked CLI, unknown-settlement no-retry, duplicate create, human-review-only submissions, and Base-only supportsNetwork.

Demo

Live public API used by the provider (2026-08-13T23:15Z):

GET https://api.taskmarket.dev/api/tasks?status=open&limit=3

returned three open bounties. See typescript/agentkit/src/action-providers/taskmarket/DEMO.md and README.md.

Setup

npm install -g @lucid-agents/taskmarket
taskmarket init
import { taskmarketActionProvider } from "@coinbase/agentkit";

const provider = taskmarketActionProvider({ maxSpendUsdc: 5 });

Docs

Notes for maintainers

  • TypeScript-only, matching other providers that do not yet have a Python twin.
  • Commits are currently unsigned on this contributor account. Happy to re-sign if that is required before review.
  • I will not spam or impersonate Coinbase. This is a real integration attempt against the official repo.

Lets AgentKit agents browse Taskmarket, preview a Base (8453) create-task
spend, create only after explicit user authorization via the official CLI,
and present submissions for human review. Creates never auto-retry when
settlement is unknown and the provider never accepts or rejects work.
@cb-heimdall

Copy link
Copy Markdown

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
Emergency override progress: 0/5
These approvals do not satisfy normal or CODEOWNER requirements because the commit identity is unverified.
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 1
Sum 2

@github-actions github-actions Bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action provider New action provider documentation Improvements or additions to documentation typescript

Development

Successfully merging this pull request may close these issues.

2 participants