Skip to content

feat(agentkit): add Taskmarket action provider - #1458

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

feat(agentkit): add Taskmarket action provider#1458
nicolasesanchez50 wants to merge 1 commit into
coinbase:mainfrom
nicolasesanchez50:feat/taskmarket-action-provider

Conversation

@nicolasesanchez50

Copy link
Copy Markdown

Summary

Adds a Taskmarket action provider to Coinbase AgentKit, letting an agent discover, track, review, and create onchain work on the Taskmarket marketplace (USDC on Base L2) directly from AgentKit. Because AgentKit exposes every action provider through the existing model-context-protocol framework extension, these tools also become available automatically as MCP tools.

Actions

Action Description
list_tasks Browse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_task Live status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissions Present a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_task Create and fund a task as a requester, behind hard safety gates (below).

Safety model

The three read actions hit the public Taskmarket REST API and require no wallet, keys, or spend.

create_task is a funded onchain write and is deliberately conservative:

  • Network guard — refuses unless the wallet is on Base (8453).
  • Explicit authorization — refuses unless the caller passes an authorization string containing the exact total the user agreed to (e.g. I authorize paying 5 USDC).
  • Max-spend cap — hard per-task cap (default TASKMARKET_MAX_TASK_SPEND_USDC, 25 USDC); a task may not exceed it unless a higher maxSpendUsdc is passed explicitly.
  • First-party tooling — the actual USDC escrow, X402 payment, legal acceptance, idempotency, and wallet signing are delegated to the official taskmarket CLI, so no private key, seed phrase, token, or cookie is requested, stored, logged, or committed.
  • No silent retry — ambiguous/in-flight results are reported and the caller is told to poll by task id, never blindly re-submitting a payment whose settlement status is unknown.

What was verified

  • pnpm install, pnpm run check (tsc --noEmit), pnpm run lint, and pnpm run format:check all pass.
  • Full agentkit test suite passes (pnpm test): 909 tests / 63 suites, including 12 new Taskmarket-specific tests covering read parsing, reward unit conversion, network guard, max-spend cap, missing-authorization rejection, CLI delegation, and failure handling.
  • The three read actions were smoke-tested live against https://api.taskmarket.dev: list_tasks returned real open tasks, get_task returned live status, and list_submissions parsed real submissions.

Files

typescript/agentkit/src/action-providers/taskmarket/
├── taskmarketActionProvider.ts
├── taskmarketActionProvider.test.ts
├── schemas.ts
├── constants.ts
├── index.ts
└── README.md

Plus barrel export in src/action-providers/index.ts and a changeset.

Notes

  • Taskmarket does not currently support AgentKit (verified: no existing integration; this is the first action provider for it).
  • The funded create_task write requires the first-party taskmarket CLI installed and the user's Base wallet funded with USDC — this is intentional (first-party tooling owns the money movement). The geometry of the write and all safety gates are unit-tested with the CLI execution mocked; the read path is tested against the live API.

@cb-heimdall

cb-heimdall commented Aug 19, 2026

Copy link
Copy Markdown

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
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 0
Sum 1

@github-actions github-actions Bot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50 force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283 Compare August 20, 2026 00:10
Adds a Taskmarket action provider letting agents discover, track, review,
and create onchain work on the Taskmarket marketplace (USDC on Base):
- list_tasks: browse open tasks (read-only)
- get_task: live task status (read-only)
- list_submissions: present submissions for human review (read-only)
- create_task: create and fund a task behind a hard max-spend cap and
  explicit user authorization, delegating the funded write to the
  first-party Taskmarket CLI so no private key touches the agent.

Includes schemas, constants, README, unit tests, and a changeset.
@nicolasesanchez50
nicolasesanchez50 force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293 Compare August 20, 2026 00:11
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