← ホームへ戻る
🌸 統合ドキュメント · SOLANA エージェント境界層
◐ 現在 DEVNET 稼働 · 監査完了後に MAINNET

Sakura 統合ドキュメント

2026 年上期、Phantom、Backpack、Abstract、Infinex の 4 社は、それぞれエージェントモードを出荷する。各社がこの検証層——署名検証、Pyth 価格統合、150 ブロック新鮮度、再生防止——を独立に構築する場合、コストはウォレットあたりエンジニア四半期の単位である。Sakura は、それを一度だけ構築し、4 社すべてに届ける。1 つの文書、3 つの統合パス。ソースは MIT。統合に許可は要らない。

🌸 Sakura · 為 AI 代理而建 · 由數學強制執行
どのエージェントウォレットも構築せねばならぬ層——一度だけ造り、4 社に同時に届ける
Sakura は、AI エージェントのための Solana ネイティブ実行境界層である。ユーザーは、自然言語で境界を 1 度だけ署名する——Poseidon が 32 バイトのコミットメントに圧縮し、オンチェーンに定錨する。エージェントの各動作には Groth16 証明が伴い、オンチェーンの alt_bn128 ペアリング syscall が約 116k CU で検証する——その後でなければ、DeFi 命令はユーザーの資金に触れることができない。ゼロカストディ。トークンなし。ソースは MIT。統合に許可は要らない。ユーザーこそが主権、数学はその執行にすぎぬ。
パス I · ウォレット統合者

🪪 ウォレット統合者

Phantom / Backpack / Abstract / Infinex が Sakura を接続する方法

ウォレットが Sakura を接続するビジネス上の動機は、1 つである——この層を自社で構築する工数を省くこと。この問題は一度解かれるべきであり、四度解かれるべきではない。統合者の最初の $10M 分はリベート、以降は 0.1% の名目額が自動的にプロトコル金庫へ流れる。事業開発交渉、BD プロセス、枠の承認、いずれも存在しない。SDK のインストールから、ユーザーが最初の意図に署名するまで、エンジニアリングカレンダー上はおよそ 1 週間——四半期ではない。

1
SDK をインストール · ウォレット provider を接続
yarn add @sakura/solana-sdk。IntentSigner React コンポーネントをインポートし、ウォレット provider(Phantom、Backpack、OKX のいずれでも)を渡す。cluster は 1 つの prop で切り替える——現在、コントラクトは devnet で稼働中、監査完了後に mainnet-beta へ移行する。API キー不要、OAuth 不要、Sakura への登録不要。
2
意図署名 UI をレンダリング
エージェントモード設定ページに <IntentSigner /> を配置。ユーザーは、エージェントの動作境界を自然言語で書き下す——たとえば「エージェントは Kamino に、1 回 $500 USDC、1 週間だけ貸せる」。SDK はこれを 7 つのポリシー値(意図テキスト、ウォレット、ノンス、金額上限、USD 上限、プロトコルビットマップ、アクションビットマップ)に解析する。元の値はブラウザに留まり、Sakura のサーバーには一切届かない。
3
署名 · コミットメントをオンチェーンに定錨
ユーザーが確定すると、SDK は 7 つの値を 2 層 Poseidon ツリーで 32 バイトのコミットメントに畳み込み、sign_intent 命令を発行。コミットメントはユーザーのウォレットをシードとする PDA に書き込まれる。名目額の 0.1% の一回限り手数料は、approve された USDC から自動的に控除され、プロトコル金庫へルーティングされる——統合者の最初の $10M 分は免除。ユーザーの側から見えるのは、ただ 1 回のウォレット署名。
4
統合監査 · リベートを受領
統合完了後、貴社ウォレットアドレスは Sakura のリベートホワイトリストに登録される。統合者の最初の $10M 分は、事前に宣言した USDC アドレスへ自動リベートされる。以降、0.1% はプロトコル金庫に流れる(運営 85%、プラットフォーム 15%)。各意図署名トランザクションは、Solscan 上に keccak256 指紋を残す——貴社、監査人、規制当局は、Sakura のサーバーを経由せずに、任意の 1 件を独立に復元できる。
パス II · エージェント開発者

🤖 エージェント開発者

AI エージェントが Groth16 証明を生成し、動作を提出する方法

エージェントが何らかの動作を行う前に、その動作がユーザー署名済みの境界内にあることを証明せねばならない。Sakura クライアントは、ブラウザ内で 600ms 以内に Groth16 証明を生成する。オンチェーン検証器は、ペアリング検証を約 116k CU で完了し、execute 経路全体の実測平均は約 204k CU——呼び出し 1 回あたりおよそ $0.01。プライベートなポリシー値は一切開示されない。開示されるのは、ただ一つの命題——「この動作は、境界内」。USD 上限は、同一トランザクション内で Pyth × Switchboard の中央値によって決済され、両者の乖離が 100 bps 以内であって初めて通過する。

1
lib/adapters で未署名 DeFi 命令を組み立てる
Sakura は Solana の旗艦 4 プロトコル向けメインネット adapter(lib/adapters/{jito,raydium,kamino,jupiter-lend}.ts)を内蔵しており、計 12 アクションセルすべてが本物の CPI 命令を生成する——Jupiter(Swap + Lend/Borrow/Repay/Withdraw)、Raydium(Swap)、Kamino(Lend / Borrow / Repay / Withdraw)、Jito(Stake / Unstake)。誰でも npx tsx scripts/verify-{jito,raydium,kamino,jupiter-lend}-adapter.ts を実行して独立に再現検証できる。Sakura SDK は buildActionWitness() 関数を提供し、adapter から返される TransactionInstruction を受け取り、回路の public inputs として必要な 3 つのコア欄位——action_type、action_target、action_amount——を自動抽出する。
2
ブラウザ内で Groth16 証明を生成
generateProof({ witness, privateValues }) を呼び出す。snarkjs がブラウザローカルで Groth16 証明を生成する。証明は「この動作は署名済みコミットメントの内側にある」ことだけを主張し、いかなるポリシー値も開示しない。回路が強制する制約は 5 項目——コミットメントハッシュの一致、金額上限、プロトコル許可リスト、動作タイプ許可リスト、USD 上限(Pyth × Switchboard の中央値で決済、乖離 100 bps 以内、Pyth slot は 150 ブロックの新鮮度内)。ブラウザ側の生成時間は約 600 ms。
3
v0 アトミックトランザクションに束ねる
buildAtomicTx({ proof, defiIx }) を呼び出し、検証命令(execute_with_intent_proof)と DeFi 命令を、単一の Solana v0 トランザクションに束ねる。両者は運命を共にする——証明が検証に失敗するか、あるいは DeFi 命令が失敗した場合、トランザクション全体がリバートされる。「証明は通ったが動作は宙に浮いた」という隙間は、存在しない。各エージェント動作は $0.01 で決済され、オンチェーン検証コストを補填する。
4
提出 · Solscan に監査指紋を残す
トランザクションをメインネットに提出する。成功すると、(intent_commitment, action_nonce) をシードとする ActionRecord PDA が作成され、動作の keccak256 指紋がオンチェーンに永久に定錨される。Solscan 上、ユーザー、監査人、取引相手は、各々独立にこの動作を復元できる——意図は何であったか、証明は通過したか、DeFi 命令は何であったか、いつ着地したか。Sakura は誰の信頼も保持しない。オンチェーンのゲートとしてのみ、機能する。
パス III · 監査 / コンプライアンス / 機関

🔍 監査 / コンプライアンス / 機関

弁護士、監査人、機関コンプライアンスが独立に検証する方法

Sakura の価値提案は「我々を信じよ」ではない。「我々を信じる必要はない」である。各エージェント動作は、Solana に keccak256 指紋を残す。各意図署名は、Poseidon コミットメントを残す。各 Groth16 証明は、その public inputs をオンチェーンに残す。Sakura のサーバーに一切アクセスせずとも、実行経路は完全に復元できる。これが、アーキテクチャの許す最も強い形の Verifiable Compute である。

1
Solscan から ActionRecord PDA を取得
Solscan で監査対象のウォレットを検索し、Sakura のプログラム ID(AnszeCRFsBKmT5fBY9WywxGsZZZob8ZPFYqboYXpuYLp)でフィルタリングする。各 execute_with_intent_proof トランザクションは、(intent_commitment, action_nonce) をシードとする ActionRecord PDA を作成する。すべての ActionRecord アカウントデータをダウンロードする——これが、当該ウォレットにおけるエージェント動作の完全なタイムラインである。
2
keccak256 動作指紋を解析
各 ActionRecord には以下が含まれる:32 バイト意図コミットメント、action_nonce、action_type、action_target、action_amount、着地 slot、keccak256 実行指紋。指紋は、(intent, nonce, type, target, amount, slot) の keccak256 ハッシュである。独立に計算して比較可能——いかなる不一致も、事後改竄の証拠である。
3
公開 verifying key をダウンロード
Sakura の Groth16 検証鍵は、デプロイ時に zk_verifying_key.rs に焼き込まれる。再デプロイなしには変更できない。鍵は GitHub(MIT ライセンス)から、あるいはデプロイ済みのプログラムアカウントから直接取得できる。鍵の SHA-256 は、デプロイコミットに対する CI artifact のハッシュと一致するはずである——いかなる不一致も、レッドフラッグである。
4
snarkjs で独立に検証
任意のバージョンの snarkjs を用いて、各監査対象動作について snarkjs.groth16.verify(vkey, publicSignals, proof) を実行する。再構成した Poseidon コミットメントがオンチェーンのものと一致し、証明が検証を通過し、Pyth slot が 150 ブロックの新鮮度内にあり、かつ Pyth × Switchboard の中央値乖離が 100 bps 以内に収まっていれば——当該動作は数学的に、署名済みの境界内に収まっていた。この監査結論は、Sakura の任意のサーバーから、そしていかなるエージェント運営者からも、独立している。対抗ストレステストの記録(docs/bench/2026-04-22-stress.json)には、15/15 の不変式がすべて成立し、敵対的試行はすべて期待通りリバートされたことが残されている。
透明な料金体系 · 従量課金、隠れコストなし、トークンなし
🪪 意図署名
統合者の最初の $10M 分は免除
名目額の 0.1%、一回限り、オンチェーンで徴収
🤖 エージェント動作
検証 1 回あたり $0.01、オンチェーンで徴収
📮 x402 MCP 呼び出し
$1 USDC / 回、HTTP 402 により原子決済
統合サポート、技術的な質問、コンプライアンスの問い合わせ:𝕏 @sakuraaijp