[Integration] Open Agent Trust Registry: lightweight runtime attestation for wallet operations
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- typescript
調査の方向性
このissueではAgentKitのファイルやテストは指定されていません。まずREADMEの法的事項のセクションと、#1015および#972の関連する議論を確認し、その後、メンテナーがOATR統合を求めているか、またどの検証アクションが対象範囲に含まれるかを判断してください。完了条件は、合意された統合設計が決まっていることです。このissueでは実装対象を定義していません。
索引モデルが issue の本文から書いたものです。
説明
I noticed the conversation around agent identity in #1015 (Observer Protocol) and #972 (MolTrust). Both are solid approaches but require on-chain infrastructure (ERC-8004 contracts, blockchain queries per verification).
For teams that want agent authorization verification without on-chain overhead, I've built the Open Agent Trust Registry (OATR), a lightweight alternative:
- Ed25519 JWT attestations signed by the agent's runtime (
agent-attestation+jwtmedia type) - Offline verification: download the registry manifest once, verify locally, no blockchain calls
- Runtime-scoped authorization: attestations include
scopeandconstraintsfields specifying what the agent is allowed to do - MIT licensed, no tokens, no vendor lock-in
How it would work with AgentKit:
import { OpenAgentTrustRegistry } from '@open-agent-trust/registry';
// Load registry once (auto-refreshes every 15 minutes)
const registry = await OpenAgentTrustRegistry.load('https://your-mirror.com');
// Before executing a wallet operation:
const attestation = agent.getAttestation(); // JWT from the agent's runtime
const result = await registry.verifyToken(attestation, 'https://your-service.com');
if (result.valid && result.claims?.scope.includes('wallet:transfer')) {
// result.issuer — verified runtime that issued this agent
// result.claims.constraints — additional authorization bounds
await wallet.transfer({ to, amount });
} else {
throw new Error(`Agent not authorized: ${result.reason || 'scope_missing'}`);
}
The registry currently has 7 registered issuers with automated CI-verified registration (domain verification + cryptographic proof-of-key-ownership). The manifest is Ed25519-signed, so even if you use a third-party mirror, tampered copies are rejected by the SDK.
Why this matters for AgentKit specifically: The README's legal section notes that agent actions "are NOT acts of Coinbase." Runtime attestation gives developers a tool to verify agent authorization before those actions happen, reducing the liability gap. The attestation's user_pseudonym field provides a pairwise pseudonymous identifier, so authorization is traceable without exposing the user's real identity.
This is complementary to Observer Protocol (#1015). OATR handles "is this agent authorized by its runtime?" while Observer handles on-chain reputation. A defense-in-depth approach would use both.
Happy to submit a PR for an OATR verification action if there's interest.
- 主要言語
- TypeScript
- スター
- 1.4k
- フォーク
- 900
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
coinbase/agentkit のほかの issue
-
SolanaKeypairWalletProvider returns a signature when confirmation reports an execution error対応中かも @snuff12 が 6 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
Python: Permit2 approval in CdpSmartWalletActionProvider.swap always reports failure (integer vs string receipt status)対応中かも @0xLittleDream が 14 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
coinbase/agentkit#1592 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Moonwell redeem fails on Base Sepolia and uses 18 decimals for cbBTC対応中かも @sebxt が 18 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
coinbase/agentkit#1578 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
ERC20 transfer reports "Transferred" when the transaction reverts (receipt status ignored)対応中かも @AgenticFinanceGraph が 27 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
coinbase/agentkit#1558 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
[TypeScript] `ViemWalletProvider` rejects a wallet client from a newer viem than the exactly pinned one (TS2345, `tokens` missing on `Client`)対応中かも @PrabalParihar が 17 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
coinbase/agentkit#1532 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
coinbase/agentkit の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
readest/readest#7413 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
content triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
eliasstravik/herdr-projects#788 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
Ability to edit tagsオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信