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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); feat(agentkit): add Taskmarket action provider by nicolasesanchez50 · Pull Request #1458 · coinbase/agentkit · GitHub
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

ActionDescription
list_tasksBrowse open (submittable) Taskmarket tasks; optional filters for mode, max reward, search, pagination. Read-only.
get_taskLive status of a single task (status, phase, submission window, reward, submission/award counts, expiry). Read-only.
list_submissionsPresent a task's submissions for human review. Read-only, and it never accepts or rejects work.
create_taskCreate 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

RequirementStatusMore Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot0
1 if user is external0
2 if repo is sensitive0
From .codeflow.yml1
Additional review requirements
Show calculation
Max0
0
From CODEOWNERS0
Global minimum0
Max 1
1
1 if commit is unverified0
Sum1

@github-actionsgithub-actionsBot added documentation Improvements or additions to documentation action provider New action provider typescript labels Aug 19, 2026
@nicolasesanchez50
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from da77547 to 7151283CompareAugust 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
nicolasesanchez50force-pushed the feat/taskmarket-action-provider branch from 7151283 to ac93293CompareAugust 20, 2026 00:11
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action providerNew action providerdocumentationImprovements or additions to documentationtypescript

Development

Successfully merging this pull request may close these issues.

2 participants

@nicolasesanchez50@cb-heimdall