Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Proposal] External spend authority for AgentKit wallets (fail-closed, signed verdicts + receipts)

Open
#1,582 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
28/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start by reading the AgentKit wallet action wrapper entry points and the upstream reference implementation linked in the proposal, solana-foundation/pay#525. Trace how spend actions are exposed and determine how the proposed HTTP authority and receipt handling fit that flow. Done means spend fails closed on every response except an explicit allow, replay protection survives restarts, and each action leaves an offline-auditable signed receipt.

Written by the indexing model from the issue text.

Description

AgentKit gives agents wallets - the piece we kept missing while running our own paid MCP bridge in production is who decides the spend outside the agent's own process. Nothing externally verifiable records who approved what.

UTA is a remote spending authority over HTTP, with a fail-closed contract (reference implementation upstreamed at solana-foundation/pay#525):

  • spend proceeds only on 2xx + explicit {"decision":"allow"}; timeout / malformed / non-2xx -> deny (never fail-open)
  • (caller_id, operation_id) replay guard, atomic across restarts
  • Ed25519-signed verdicts + hash-chained receipts, auditable offline

Proposal: an AgentKit action wrapper that gates wallet spend actions through an external authority, leaving signed receipts per action - the enterprise-evidence half that's hard to get from the wallet alone. We'd contribute and maintain the wrapper.

Docs: https://utalabs.tech - Edison Flores, AliceLabs

Dominant language
TypeScript
Stars
1.3k
Forks
871
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from coinbase/agentkit

All issues in coinbase/agentkit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.