Moneo について
Moneoは、AIエージェント向けのウォレットと支出ポリシーのツールキットで、署名の前に上限やルールを評価します。金融エージェントを開発する人向けで、MCP経由で使えるRobinhood Chain向け取引ツールも含みます。
主な機能
- 01エージェントごとの口座を作成
- 02署名前に支出ポリシーを評価
- 03上限、期間予算、許可リストを設定
- 04判断、理由、ポリシーバージョンを記録
- 05価格照会、注文、ポジション管理
活用シーン
- 01エージェントの取引額や日次支出を制限
- 02署名前にポリシー違反の支払いを拒否
- 03エージェントによる価格照会と取引シミュレーション
MCP 対応
@moneolabs/mcpは、ポリシーで保護されたウォレットをMCPサーバーとしてエージェントホストに提供し、Robinhood Chain向けの取引ツールも公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @moneolabs/mcpMONEO_AGENTAgent identity recorded on every decision.MONEO_ASSETDefault asset for amounts that do not name one.MONEO_POLICYPath to a policy JSON file. Defaults to a cautious built-in policy.MONEO_KEY_PATHシークレットWhere the agent's key is kept. Defaults to ~/.moneo/key.json.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Moneo
AI エージェントのための自律型金融。
モデルには決して見えない鍵を持つウォレット、署名前に動作する支出ポリシー、そして決して閉まらない市場向けの取引実行。
moneowallet.com · クイックスタート · パッケージ · 全体の仕組み · ステータス · コントリビューション
読み取りしかできないエージェントなら、誤った使い方をしても大きな問題にはなりません。しかし、資金を動かせるエージェントは別です。 Moneo はその間をつなぐレイヤーです。エージェントに専用のアカウントと上限を与え、試行のすべてを記録することで、ミスによる損失を残高ではなく拒否で済ませます。
Robinhood Chain 向けに構築されており、トークン化された株式と USDG が昼夜を問わず決済されます。午前3時に取引できるエージェントは、その時間にアカウントを失うこともない場合にのみ役立ちます。そのためのガードです。
npm install @moneolabs/wallet @moneolabs/guard @moneolabs/trading
あるいは、コードを一切使わず、専用ウォレットをエージェントホストに渡すこともできます。実際の鍵、慎重なポリシー、そして MCP 経由で利用できる Robinhood Chain 上のライブプールがそろっています。
npx @moneolabs/mcp
クイックスタート
import { createGuard } from "@moneolabs/guard";
import { createWallet, localSigner, memoryRail, toolkit } from "@moneolabs/wallet";
// What this agent may do with money. Data, not code, and versioned.
const guard = createGuard({
perTransaction: { max: "$25" },
rolling24h: { max: "$100" },
counterparties: "allowlist-only",
allow: ["x402:*", "vendor:acme"],
escalate: { above: "$50" },
});
// One account per agent. The signer holds the key, the wallet holds a handle.
const wallet = await createWallet({
agent: "research-agent-01",
signer: localSigner(),
rail: memoryRail(),
guard,
funding: "$500",
});
await wallet.pay({ to: "x402:api.pricefeed.dev/quote", amount: "$0.04" });
// Hand the tools to your agent framework of choice.
const tools = toolkit(wallet, { guard });
実行可能なサンプルが examples/ に2つあります。
node --experimental-strip-types examples/quickstart.ts
node --experimental-strip-types examples/guarded-trading.ts
パッケージ
| パッケージ | 機能 |
|---|---|
| @moneolabs/wallet | エージェントごとのアカウント。差し替え可能なカストディと決済レール、MCP または関数呼び出し向けのエージェントツールキット。 |
| @moneolabs/guard | 上限、ローリング予算、取引頻度制限、許可リスト、人間へのエスカレーションを署名前に評価します。 |
| @moneolabs/trading | 複数の取引所の相場、スリッページ上限、成行注文、指値注文、TWAP 注文とブラケット注文、ポジション、損益。 |
| @moneolabs/mcp | すべてに対応する MCP サーバー:npx @moneolabs/mcp を実行すると、あらゆるエージェントホストにガード付きウォレットを渡せます。 |
| @moneolabs/core | 厳密な金額演算、資産、期間、クロック、価格ソース。ほかのパッケージで共有されます。 |
各パッケージは単独で動作します。ガードはウォレットがなくても役立ちます。すでに作成した決済関数の前に置くだけで機能します。
全体の仕組み
agent
│ pay / quote / trade
▼
wallet ──────► guard ──────► decision: allow | hold | block
│ │
│ └─► ledger (every attempt, verdict and reason, blocks included)
│
├─► signer (holds the key; the agent never sees it)
└─► rail (chain, processor, internal ledger)
この仕組みから3つの特性が生まれます。これこそが、このプロジェクトの要点です。
拒否は無料です。 ポリシーは意図と署名の間で実行されるため、ブロックされた決済はブロードキャストされず、手数料もかかりません。check() を使えば、実行せずにどうなるかを確認できます。
移動中の資金は、手元にない資金です。 許可された判断では予算がすぐに確保され、後で精算または解放されます。決済レールで失敗した決済は、予算を返すため、資金が滞留しません。
すべての判定の出どころを追跡できます。 判断には、どのエージェントが何を求め、どのポリシーのどのバージョンが回答したかが記録されます。ポリシーのバージョンはコンテンツアドレス方式のため、キーの順序や金額の書き方だけが異なる2つのポリシーには、同じIDが割り当てられます。
設計上の注意点
金額に浮動小数点数は使いません。 すべての金額は、bigint による最小通貨単位の整数です。チェックのたびに予算が 1 セント未満ずつずれていけば、いずれ何かを通してしまいます。parseMoney("$0.001") は、意図した精度を黙って丸めて失うのではなく、例外をスローします。
時間は注入します。 ローリングウィンドウ、利用速度の上限、TWAP スケジュールはすべて Clock を参照します。manualClock() を渡せば、30 分かかる注文もミリ秒でテストできます。テストスイートでは、25 時間後の予算更新を待たずに検証します。
拒否は値として返します。 エージェントツールキットは、支払いをブロックした場合、例外ではなく、理由とヒントを含む通常の結果を返します。スタックトレースを受け取ったモデルは再試行します。「この上限はウォレットの所有者が設定しています。引き上げてもらってください」と受け取ったモデルは、処理を止めてその旨を伝えます。
外部との連携はインターフェースを通じて行います。 Signer、Rail、Venue、PriceSource、Approver、DecisionLedger はすべて、動作するリファレンス実装を備えたインターフェースです。対象は Robinhood Chain ですが、パッケージ内にそれをハードコードしている箇所はありません。ネットワークは渡す文字列で、レールは提供するオブジェクトです。
実装済みの内容と未実装の内容
このリポジトリは、対応範囲を正直に示しています。
完全に実装済みで、すぐに利用できます。 ガードは完成しており、上限、ローリング予算、利用速度、許可リストと拒否リスト、資産とアクションのルール、エスカレーション、予約と決済、ポリシーのバージョン管理、履歴に対する再生に対応しています。ホスト型サービスはその背後に存在せず、必要もありません。金額演算、ポジション台帳、注文タイプも、同様に実際に動作します。
インターフェースの背後で実装され、ローカルのリファレンスアダプターを備えています。 カストディ機能には、鍵がプロセス外に出ることのない本物の Ed25519 署名機能 localSigner と、エンクレーブまたは MPC サービス向けの remoteSigner が含まれています。価値の移転機能には、メモリ上で動作する本物の複式簿記台帳 memoryRail が含まれています。執行機能には、決定的に動作し、指定した価格表に基づく simulatedVenue が含まれています。
含まれていないもの。 ホスト型の Moneo API、チェーンクライアント、カード発行機能、同梱の価格フィードはありません。これらは、独自に作成するか、別途提供されるアダプターです。
つまり、API キーも、作成が必要なアカウントもありません。これらはサービスのクライアントではなく、ライブラリです。ポリシーは実行中のプロセス内で評価され、署名機能とレールは渡すオブジェクトです。認証情報が必要なのは、接続先のシステムです。
開発
npm install
npm test # 120 tests, no network, no waiting on real clocks
npm run typecheck
npm run build
npm run check # format, types, tests, build
Node 20 以降が必要です。
ライセンス
MIT です。詳細は LICENSE を参照してください。
Moneo は開発者向けのインフラストラクチャであり、ブローカー、銀行、投資顧問ではありません。エージェントに適用するポリシーと、接続するレールについては、お客様が責任を負います。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
