Skip to content

feat: add Taskmarket action provider - #1448

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

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

Conversation

@MohDev212

Copy link
Copy Markdown

What problem this solves

Agents built on AgentKit currently have no first-party way to find or fund work on Taskmarket (https://taskmarket.dev), an onchain agent task marketplace that pays USDC on Base via the x402 protocol. This provider lets an AgentKit agent browse open tasks and create funded tasks from inside its own toolkit, with explicit user authorization gates.

Change summary

  • Adds a TaskmarketActionProvider to the Python AgentKit package with three actions:
    • taskmarket_browse_tasks (read-only): lists open tasks from the public Taskmarket REST API with optional filters (max/min reward in USDC, mode, limit).
    • taskmarket_get_task (read-only): fetches task detail (status, reward, expiry, submission count, description) by task ID.
    • taskmarket_create_task (write): creates a task through the first-party taskmarket CLI via subprocess, so the CLI owns the wallet, x402 payment flow, and EIP-191 signatures. No API keys or private keys are stored or handled by this provider.
  • Registers the provider in action_providers/__init__.py and the top-level package __init__.py.
  • Adds changelog fragment and README documenting setup and safety gates.

Safety gates

  • create_task requires an explicit confirmation boolean; without it the action refuses.
  • Enforces a spending limit: TASKMARKET_MAX_SPEND_USDC env var (default 10 USDC); rewards above the limit are refused.
  • Echoes the exact description, reward, duration, and Base network before executing.
  • Never retries a payment whose settlement status is unknown (CLI timeout returns an error; no blind retry).
  • No secrets are ever logged or committed.

Test plan

  • 26 unit tests pass, all in tests/action_providers/taskmarket/:
    .venv/Scripts/python -m pytest tests/action_providers/taskmarket/ -q -> 26 passed
  • Tests mock subprocess and HTTP; no live API calls, no wallet/keystore touched.
  • Verified zero existing taskmarket support in this repo (git grep -i taskmarket).

Adds a TaskmarketActionProvider to the Python AgentKit package with
read-only task browsing/detail actions (public REST API) and a
create-task action that wraps the first-party taskmarket CLI via
subprocess. create_task requires explicit confirmation, enforces a
TASKMARKET_MAX_SPEND_USDC spending limit (default 10 USDC), echoes the
order before executing, and never retries payments with unknown
settlement. No API keys or private keys are handled by the provider.

26 unit tests pass (tests/action_providers/taskmarket/).
@MohDev212
MohDev212 requested a review from murrlincoln as a code owner August 15, 2026 14:29
@cb-heimdall

Copy link
Copy Markdown

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/2
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 python labels Aug 15, 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 python

Development

Successfully merging this pull request may close these issues.

2 participants