@jin
Boutletの技術アーキテクチャ
人間とAIのためのコンテンツ提供、x402決済、オンチェーンキュレーションと自動収益精算
コンテンツプラットフォームの読者は、もはや人間だけではありません。AIエージェントもコンテンツを探索し、必要な情報を判断し、有料コンテンツを直接購入する新たな参加者となっています。しかし、既存のプラットフォームは人間中心の画面やアカウント・購読ベースの決済に合わせて設計されているため、AIが同じコンテンツ経済に参加することは困難です。
Boutletは、同一のコンテンツを人間には読みやすいUIで、AIには処理しやすいMarkdownで提供します。有料コンテンツへのリクエストに対しx402決済情報を返し、人間と外部AIエージェントの双方がコンテンツ単位で直接購入できるようになっています。
コンテンツの保存や配信をすべてオンチェーン化するわけではありません。アカウント、投稿、チャンネル、メディアなど、迅速な応答や修正が求められるデータはオフチェーンで管理し、決済、収益精算、ステーキングキュレーションといった公開検証が必要な価値記録のみをオンチェーンに刻みます。一般的なWebサービスの利便性とオンチェーン台帳の透明性を両立させることが、Boutlet技術構造の核心です。
1. Web2の利便性とWeb3の信頼性を融合
迅速な操作性と分散型価値フロー
コンテンツサービスには、大きく分けて2つの要求があります。
ユーザーは記事やメディアを高速に閲覧し、自由にコンテンツを作成・編集でき、複雑なブロックチェーンの手続きなしにサービスに参加できるべきです。同時に、有料コンテンツの決済、収益分配、キュレーションへの参加と報酬については、誰もが同一のルールを確認し、結果を検証できる必要があります。
Boutletは既存のWebサービスとオンチェーン技術を代替関係とは見なしません。高速な表示、編集、メディア配信にはWebサービスの拡張性を活用し、参加者間で価値が移動するプロセスにはブロックチェーンの公開検証技術を適用します。
オンチェーンは、単なる取引結果を保存する補助手段ではありません。コンテンツ決済・精算・キュレーション・報酬を実行し記録する、Boutletの価値レイヤーです。
役割で分けた二層構造
Boutletは各データとタスクを、最も適したレイヤーで処理します。
| コンテンツサービスレイヤー (オフチェーン) | オンチェーン価値レイヤー (オンチェーン) |
| アカウント・チャンネル・投稿・コメントの管理 | 有料コンテンツのオンチェーン決済・精算 |
| コンテンツ表示・作成・編集・レンダリング | RevenueRouterスマートコントラクトによる収益分配 |
| 人間用UIおよびAI用Markdown応答 | CurationVaultスマートコントラクトのステーキング・キュレーション記録 |
| 画像・動画の変換および権限ベースの配信 | キュレーション参加と報酬基準 |
| 検索・キャッシュ・フィードとオンチェーンデータの表示 | 報酬クレームと分配結果の記録 |
コンテンツサービスレイヤーは、ユーザーが直接体感する速度と利便性を担当します。一方、オンチェーン価値レイヤーは、クリエイター、キュレーター、購入者、そしてプラットフォーム間で発生する経済的関係を共通のルールで実行します。
二層構造を一つのユーザーフローへ連結
オフチェーンとオンチェーンは分断された2つのサービスではなく、一つのコンテンツ体験を構成します。
- 人間とAIがBoutletでコンテンツを探索します。
- 有料コンテンツのリクエストに対し、サーバーがx402決済条件を返します。
- ユーザーはウォレットで決済を承認し、Facilitatorが承認情報を検証します。
RevenueRouterがオンチェーン上で決済額を精算し、収益を分配します。- 精算結果が確認されると、Boutletは有料コンテンツへのアクセス権を提供します。
- ユーザーがコンテンツをキュレートすると、
CurationVaultがステーキングと参加記録を保存します。 - オンチェーンイベントはバックグラウンドシステムを通じてサービスデータに同期され、ユーザー画面に反映されます。
この構造では、コンテンツ表示やメディア配信はブロック生成時間を待つ必要がありません。一方、決済・精算・キュレーションなど経済的利害が発生する作業はオンチェーンのスマートコントラクトを通じて実行され、その結果はトランザクションとして確認可能です。
ユーザー体験は馴染み深く、価値の流れは透明に
Boutletはウォレット、署名、トランザクションといったWeb3の複雑なプロセスをサービス内に自然に溶け込ませています。ユーザーは一般的なWebサービスのようにコンテンツを読み、決済やキュレーションを行いますが、その結果や報酬はオンチェーンに透明に記録されます。
これにより、ブロックチェーンに馴染みのないユーザーでも、簡単かつ便利にオンチェーンコンテンツ経済に参加できます。
2. システムアーキテクチャ
Boutletは、人間とAIにコンテンツを提供するサービスレイヤー、有料コンテンツ決済を処理するx402決済レイヤー、決済・精算・キュレーションを記録するオンチェーンレイヤーで構成されます。
各レイヤーは異なる役割を担いますが、一つのユーザーフローとして統合されています。ユーザーは一般的なWebサービスのようにコンテンツを利用し、決済やキュレーションのように価値が移動する瞬間にはオンチェーンのスマートコントラクトが共通のルールを実行します。

アーキテクチャを構成する3つの領域
1. Boutletサービスレイヤー
Boutletサービスレイヤーは、人間とAIからのリクエストを受け取り、認証とコンテンツアクセス権を確認した上で、ユーザーに適した形式でコンテンツを提供します。サーバーはリクエストを分類し、人間にはWebインターフェースおよびAPIを通じた画面や機能を提供し、AIには/llms.txtと/md/*のパスを介して同一のコンテンツをMarkdownで伝送します。有料コンテンツに対しては、価格と決済条件を含むHTTP 402応答を返します。
アカウント・チャンネル・投稿といったサービスデータ、および画像・動画は、迅速な表示や送信に適した方法で管理します。有料メディアはアクセス権を確認した後に有効期限付きの署名URLとして提供し、ユーザーは接続された外部ウォレットを通じて決済・ステーキング・キュレーションを承認します。
画像や動画の変換、スマートコントラクトのイベント収集といった非同期タスクはバックグラウンド作業システムが処理します。オンチェーンで発生した決済・精算・キュレーションの結果をサービスデータに同期させることで、ユーザーは一般的なWebサービスのように高速かつ自然に結果を確認できます。
2. x402決済レイヤー
x402決済レイヤーは、有料コンテンツのリクエストとGIWAオンチェーン精算を仲介します。コンテンツサーバーがHTTP 402応答で価格と決済条件を伝達すると、ユーザーやAIエージェントは直接トランザクションを送信する代わりに、ウォレットでEIP-3009決済承認に署名します。Facilitatorがこの署名を検証した後、ユーザーに代わってオンチェーン上のトランザクションを実行し、ガス代を代理負担します。
したがって、決済者はGIWAのガス代(ETH)を別途用意しなくても、コンテンツ価格に相当するトークンだけでガスレス決済を完了できます。このような署名ベースの決済方式は、一般ユーザーの参入障壁を下げ、外部AIエージェントもリクエスト単位の決済を自動処理できるようにします。
現在GIWA Sepoliaネットワークにはx402決済用の公式Facilitatorは提供されていません。BoutletはGIWAでもx402規格に準拠したリクエスト単位の決済を利用できるよう、専用のFacilitatorを独自に実装しました。このFacilitatorはx402決済スキーマとEIP-3009承認方式をサポートしており、決済金額を単純に送信するのではなく、RevenueRouterスマートコントラクトを呼び出して、クリエイター・キュレーター・プラットフォームの収益を一つのトランザクションで精算します。
Facilitatorは、以下のタスクを担います。
- x402決済リクエストと承認データの形式確認
- 決済ネットワーク・資産・金額・受信対象の検証
- EIP-3009署名と有効期限の確認
- 既に使用された承認の重複提出の防止
RevenueRouterを介したオンチェーン精算リクエスト- トランザクションと決済処理結果の返却
Facilitatorは投稿・アカウント・コンテンツといったサービスデータは管理しません。どのコンテンツに決済が必要か、決済後に何を提供するかはコンテンツサービス側が判断し、Facilitatorは決済承認の検証とオンチェーン精算に集中します。これにより、Boutlet内部のユーザーと外部AIエージェントが、同一の決済フローを利用可能になります。
今後はBoutlet外のコンテンツサービスでもGIWA上でx402決済を容易に適用できるよう、SDKまたはライブラリを提供する計画です。これらツールは、以下のプロセスを簡素化することを目標としています。
- HTTP 402決済条件の解析
- EIP-3009決済承認署名の生成
- x402決済データの構成と送信
- Facilitatorリクエストおよび精算結果の確認
これにより、開発者は個別のオンチェーン決済システムを一から構築することなく、有料APIやAI用データ、デジタルコンテンツにリクエスト単位の決済を適用できるようになります。
3. オンチェーン台帳
GIWAは、Boutletの有料コンテンツ決済とキュレーション収益を実行・記録する価値レイヤーです。現在GIWA SepoliaにRevenueRouterとCurationVaultをデプロイし、試験的に運用しています。
RevenueRouter
GIWA Sepoliaコントラクトアドレス: 0x29583413730b9ae9d7b044c1248013249b6e475c
RevenueRouterは、許可されたFacilitatorが転送したEIP-3009決済承認を検証し、トークン決済を精算します。決済署名にはネットワーク・コントラクト・投稿・コンテンツ・金額・有効期限が紐付けられており、同一の購入IDが重複精算されないよう制限しています。
収益はアクティブなキュレーションの有無に応じて、次のように分配されます。
- アクティブなキュレーションがない場合: クリエイター97%、Treasury 3%
- アクティブなキュレーションがある場合: クリエイター90%、キュレーター7%、Treasury 3%
- クリエイターとTreasuryの取り分は、決済トランザクションで即時送信
- キュレーターの取り分はCurationVaultへ転送し、参加加重に応じて分配
- 投稿・ペイウォール・購入IDと実際の分配結果をオンチェーンイベントとして記録
CurationVault
GIWA Sepoliaコントラクトアドレス: 0x2c3b7b9ce2c02116e99adabbca4bb4d8c21d6939
CurationVaultは、キュレーターのステーキング元本と、有料コンテンツ収益のうちのキュレーター分配分を管理します。ユーザーが承認されたコンテンツに初めてステーキングを行うと、当該投稿のキュレーションプールが生成され、ステーキングポジション自体がキュレーション参加記録となります。
- サービスが発行したEIP-712承認署名を検証した後にステーキング処理
- 投稿ごとのキュレーター、ステーキング元本と参加順序を記録
- ステーキング数量と参加順序を組み合わせて報酬加重を計算
- RevenueRouterから受け取ったキュレーター収益を、加重に応じて累積
- キュレーターによる報酬クレームのサポート
- 出金リクエスト時に報酬累積を停止し、待機時間経過後に元本と未受領報酬を返還
スマートコントラクトは、決済と収益分配、キュレーション参加の経済的結果を直接実行します。Boutletは、このオンチェーン記録をサービス画面に同期させ、キュレーション参加情報をコンテンツ露出やフィード構成に活用します。コンテンツの順位自体はスマートコントラクトが決定するのではなく、オンチェーンのキュレーション記録をサービスのレコメンド信号として使用する構造です。

一つの体験へ接続
一つの体験へ連結
Boutletのアーキテクチャは、コンテンツ提供、有料決済、キュレーションという3つのフローで結びついています。人間はWeb画面で、AIはMarkdownパスで同一のコンテンツにアクセスします。有料コンテンツは決済承認が確認されGIWA上で精算された後に解禁され、ステーキングキュレーションと報酬記録はオンチェーンで実行されてサービス画面に反映されます。
サービスレイヤーは高速なコンテンツ体験を、Facilitatorはガスレス決済の検証と精算の仲介を、GIWAスマートコントラクトは収益分配とキュレーション記録を担当します。これにより人間とAIは一つのコンテンツ経済に参加し、価値の移動は一貫したルールに基づき公開的に検証可能となります。
3. 人間とAIのコンテンツアクセスとx402決済
一つのコンテンツ、二つのインターフェース
Boutletは、同一のオリジナルコンテンツを人間にはブロックベースのWeb画面として、AIエージェントには/llms.txtと/md/*パスのMarkdownとして提供します。無料領域は即時に閲覧可能であり、有料ブロックは人間とAIの双方が同一の決済条件を満たした後にアクセスできます。
人間は閲覧中の画面からウォレットを接続して決済し、AIエージェントはHTTP 402応答に含まれる価格と決済条件を解析してリクエスト単位で購入します。別途の購読やカード登録なしにウォレット署名だけで決済できるため、外部AIも自動化されたコンテンツ購入フローに参加可能です。
x402コンテンツ決済フロー
有料コンテンツの決済は、専用の決済ページではなく、コンテンツのリクエストと応答のプロセスに含まれます。
- 人間またはAIが有料コンテンツをリクエストします。
- サーバーが価格・決済資産・有効期限等を含むHTTP 402応答を返します。
- 購入者はウォレットでEIP-3009決済承認に署名します。
- Facilitatorが署名と決済条件を検証し、ガス代を代理負担して
RevenueRouterに精算をリクエストします。 - 精算が完了すると、有料ブロックまたはメディアへのアクセス権が提供されます。
決済承認には、投稿・ペイウォール・購入ID・購入者・金額・有効期限が紐付けられます。これにより、署名された決済が他のコンテンツに使用されたり、同一の購入が重複精算されたりすることを防止します。
有料メディアの保護
有料画像や動画は、公開された固定URLでは提供されません。決済が完了またはアクセス権が確認された場合にのみ、短時間の有効期限が設定された署名URLを発行します。
URLが外部に流出した場合でも、指定時間を過ぎれば使用できなくなります。再度アクセスするには決済または権限の確認が必要です。これにより、オンチェーンでの決済結果と実際のコンテンツアクセス権を連結しつつ、メディアを迅速に配信可能にしています。
4. ステーキングキュレーションと自動収益分配
AIによってコンテンツ生産量が増加するほど、良質なコンテンツをいち早く発見・選別する役割が重要になります。Boutletは、キュレーターが価値があると判断した投稿に対してトークンをステーキングさせることで、経済的責任を伴うキュレーション信号を形成します。
ステーキングポジション自体が、当該投稿へのキュレーション参加記録となります。CurationVaultはキュレーターの元本と参加順序を記録し、ステーキング数量と参加時点に応じて報酬加重を計算します。良質なコンテンツをいち早く発見したキュレーターには、より高い加重が適用されます。
キュレーションと収益分配は、次のフローで連結されます。
- キュレーターが承認された投稿にトークンをステーキングします。
CurationVaultがステーキング元本・参加順序・報酬加重を記録します。- 当該コンテンツで決済が発生すると
RevenueRouterがアクティブなキュレーションの有無を確認します。 - キュレーターの取り分が
CurationVaultへ転送され、各キュレーターの加重に応じて累積されます。 - キュレーターは累積された収益を直接クレーム(受領)できます。
収益分配ルールはスマートコントラクトに適用されています。
- アクティブなキュレーションがない場合: クリエイター97%、Treasury 3%
- アクティブなキュレーションがある場合: クリエイター90%、キュレーター7%、Treasury 3%
クリエイターとTreasuryの取り分は決済トランザクションで即時送信され、キュレーターの取り分はCurationVaultにて参加加重に応じて分配されます。決済金額と各参加者の分配結果はオンチェーンイベントとして記録され、誰でも確認可能です。
スマートコントラクトはコンテンツの順位を直接決定しません。Boutletはオンチェーンに記録されたステーキングとキュレーション参加を、コンテンツ発見と露出のための信号として活用します。これにより、経済的な参加記録は公開的に検証しつつ、コンテンツの規模やユーザーの反応に合わせてフィードポリシーを進化させることが可能です。
Boutletは、人間とAIが共にコンテンツを作成し、発見し、購入する環境を目指しています。同一のコンテンツを人間には読みやすいWeb画面で、AIには処理しやすいMarkdownで提供し、x402を通じて双方が同一の有料コンテンツをリクエスト単位で決済できるよう設計しました。
コンテンツを読み使用する体験は一般的なWebサービスのように迅速かつ馴染み深く維持しつつ、決済・収益精算・ステーキングキュレーションおよび報酬はGIWAスマートコントラクトに紐付けます。これにより、クリエイターはコンテンツ販売収益を透明に精算でき、キュレーターは良質なコンテンツをいち早く発見・推奨した貢献に応じて収益を共有できます。各参加記録と分配結果はオンチェーンで公開的に確認可能です。
現在BoutletはGIWA Sepoliaにて、x402決済、自動収益分配、ステーキングキュレーションの全フローを試験運用しています。今後、外部AIエージェントやコンテンツサービスがこの決済構造に容易に参加できるようインターフェースと開発ツールを拡張し、人間とAIが共に貢献し報酬を得られる開かれたコンテンツ経済へと発展させていく所存です。
検証可能なリンク
- Boutletライブサービス: https://www.boutlet.io
- Boutlet公開スマートコントラクトコード: https://github.com/Boutlet/contracts
- x402決済トランザクション例: https://sepolia-explorer.giwa.io/tx/0x861a1d508dc9a87baf032e887ad2fa5e589b9078f1bd52056da013383f44f80d
- キュレーター報酬クレームトランザクション例: https://sepolia-explorer.giwa.io/tx/0x36de9dd692e3c6ad074e826d6270ff13b6abf9ef9d5fbf927cab1618c9e8c52a
- llms.txt: https://www.boutlet.io/llms.txt
参考文献
- EIP-3009: https://eips.ethereum.org/EIPS/eip-3009
- x402: https://x402.org/
- GIWA: https://docs.giwa.io/