本レポートは、GYOTAK(ECOSUS CO., LTD. の水産物事業ブランド)が Cardano メインネット上の x402 マイクロペイメントプロトコルおよび USDM(Mehen Finance 発行の Cardano native USD ステーブルコイン)による決済機能を、自前実装した Cloudflare Worker 上で稼働させた実装記録である。
調査時点(2026年5月10日)において、Cardano エコシステムには公開稼働中の x402 facilitator サービスを確認することができず、想定される公式エンドポイント(payment.masumi.network)は応答を返さない状態であった。GYOTAK は masumi-network/x402-cardano-examples リポジトリの Python リファレンス実装を参照し、Cloudflare Worker 環境(WASM 不可、30秒実行制限)に適合する形で TypeScript に移植した。
実装は本番デプロイされ、https://line-harness.gyotak.workers.dev/.well-known/mcp.json にて Cardano + USDM 対応が公開されている。Internet Archive にて永久保存済み。
本レポートは ECOSUS-TR-2026-001(Midnight ZKP 実装)、ECOSUS-TR-2026-002(Midnight Preprod 移行)、ECOSUS-TR-2026-003(GYOTAK MCP × x402 EVM 実装)に続く4本目の技術記録である。Cardano AI Commerce インフラの先行稼働事例として、後続の製造業者・実装者への参照実装を提供することを目的とする。
x402 は HTTP の 402 ステータスコード(Payment Required)を活用した、AI エージェントによる自律的な決済を可能にするマイクロペイメントプロトコルである。Coinbase が 2024 年に提唱し、その後 Linux Foundation のオープンスタンダードとして進化している。
x402 の基本フローは以下の通り:
Cardano Foundation は 2026年4月28日、「Cardano becomes Official x402 Chain」として x402 規格の Cardano 統合を公式発表した。Masumi Network が AI エージェント決済の中核基盤として位置付けられ、masumi-network/x402-cardano および masumi-network/x402-cardano-examples リポジトリが公開されている。
Cardano メインネット上のステーブルコインとしては:
x402-cardano-examples のリファレンス実装は USDM ベースで提供されている。
調査時点(2026年5月10日)で、想定される Masumi 公式 facilitator エンドポイントの稼働状況を確認した。GET https://payment.masumi.network/health および /supported のいずれも、ルーティングエラー("Can not GET ...")を返した。
公式ドキュメントも確認できず、x402-cardano-examples のリポジトリは FACILITATOR_URL のデフォルト値を http://127.0.0.1:5051(自前ホスティング前提)に設定している。これは公式 facilitator が公開稼働していないことを示唆している。
GYOTAK は「Cardano メインネットでの x402 決済を実現する」事業ロードマップを持っており、公式 facilitator の稼働を待ち続けることは現実的でないと判断した。以下の要因から、自前実装を決定した:
facilitator のホスティング方法として3つの選択肢を検討した。Option A は別途 Python サーバーを Railway/Fly.io 等にデプロイする方法で、公式実装をほぼそのまま使えるが月額コストがかかり運用対象も増える。Option B は Cloudflare Worker 内で TypeScript として再実装する方法で、既存インフラに統合できコストゼロだが、Worker の制約に対応する必要がある。Option C は既存 EVM facilitator(Coinbase)に依拠したまま Cardano 対応は将来課題とする方法で、即座の実装は不要だが Cardano 完結化が達成できない。
GYOTAK は Option B を採用した。理由は (1) コストゼロで持続可能、(2) Worker 環境は既に MCP サーバーとして稼働しており追加負担最小、(3) 事業上の戦略的重要性。
Worker 環境特有の制約として、まず WASM 不可(初期化時の重量級依存)があり、Lucid SDK・cardano-serialization-lib を採用しない選択をした。30秒実行制限に対しては、settle のオンチェーン確認待機を15秒上限に設定し、確認できなければ pending を返してクライアントポーリングに移譲する設計とした。fetch API のみという制約は、Blockfrost への HTTP 呼び出しが fetch で問題なく実行できるため影響しない。
x402 Cardano プロトコルでは、署名済み TX を CBOR バイナリとして base64 エンコードした文字列を payload.transaction に含む。完全な検証には CBOR デコードが必要だが、Lucid SDK 等の重量級ライブラリは Worker で動作しない。
GYOTAK は Python リファレンス実装と同じアプローチを採用した。/verify では base64 デコード可能性のみチェック、/settle では TX をそのまま Blockfrost API で submit し、submit 成否で判定する。CBOR 解析は Blockfrost 側に任せる。これは公式 Python 実装と同じ設計であり、簡潔性とセキュリティの両立を実現している。
Cardano メインネットの slot 時間は20秒、TX の最終的確定までは1〜2分が一般的である。AI エージェントクライアントとの体験を維持するため、ハイブリッド設計を採用した。TX を Blockfrost で submit した後、3秒間隔で /txs/<hash>/utxos を確認する。最大5回(15秒)まで試行し、出力に payTo + USDM が含まれれば success を返す。15秒経過しても確認できなければ pending: true で返却し、クライアントが /status エンドポイントで継続ポーリングする。
実装は4ファイルに分散される。既存の EVM x402 実装を破壊しない後方互換設計を採用した。合計新規 LOC は約350行、実装期間は約4時間である。
| File | LOC | Purpose |
|---|---|---|
cardano-facilitator.ts | 177 | Self-hosted Cardano facilitator (verify, settle, status) |
x402.ts | 252 (+135) | Multi-chain x402 core (pricing, routing, requirements) |
index.ts | +28 | MCP endpoint dual-network 402 response |
README-x402-cardano.md | 90 | Setup guide & test procedures |
cardano-facilitator.ts は3つの主要関数をエクスポートする: verifyCardanoPayment、settleCardanoPayment、checkCardanoTxOutput。
verify ロジックは、xPaymentB64 を base64 デコードして JSON パースし、x402Version、scheme、network、payload.transaction の各フィールドの整合性を検証する。CBOR 構造の検証は意図的に行わない。
settle ロジック(ハイブリッドポーリング)は、payload.transaction を抽出して Blockfrost POST /tx/submit に送信し、成功後に最大15秒のポーリングを開始する。checkCardanoTxOutput は Blockfrost GET /txs/<txHash>/utxos で出力を確認する。
SupportedNetwork 型として 'base' | 'cardano-mainnet' を定義した。buildPaymentRequirements に network 引数を追加(デフォルト 'base' で後方互換)。buildAllPaymentRequirements 関数で複数ネットワークの選択肢を返す。detectNetwork 関数でペイロード構造からネットワークを自動判定し、verifyPayment / settlePayment を適切な facilitator にルーティングする。
/.well-known/mcp.json を networks 配列化し、402 レスポンスの accepts も複数ネットワーク対応とした。matchedReqs バグ修正(detectNetwork によるネットワーク判定)と BLOCKFROST_PROJECT_ID 環境変数の型定義追加を実施した。
EVM フローでは verify 時に payload.authorization.from から payer address を同期的に取得できるが、Cardano では payload.transaction(CBOR)から payer を知るには CBOR デコードか Blockfrost クエリが必要である。本実装では Cardano VIP 認証は将来課題として保留し、EVM VIP は既存通り稼働する。
wrangler dev --remote で本番 secret を使用したローカル起動を実施。402 レスポンスに Base USDC と Cardano USDM の両方が含まれることを確認した。
$ curl -s POST http://localhost:8787/mcp ...
HTTP/1.1 402 Payment Required
accepts: [
{ "network": "base", "asset": "0x833589f...", "payTo": "0xdE04b..." },
{ "network": "cardano-mainnet", "asset": "c48cbb3d...", "payTo": "addr1qxc..." }
]
deploy 情報: Commit 38c7a99 + 0a2b6ab、Worker version 422b9ea7、deploy 日 2026-05-10、bundle size 1014.40 KiB / gzipped 213.81 KiB。
$ curl -s "https://line-harness.gyotak.workers.dev/.well-known/mcp.json" | jq '.x402.networks'
[
{ "network": "base", "asset_name": "USDC", "facilitator": "https://x402.org/facilitator" },
{ "network": "cardano-mainnet", "asset_name": "USDM", "facilitator": "self-hosted" }
]
以下のテストが未実施であり、将来課題として明示する:
本実装の存在と稼働状態は、第三者が独立に検証可能な形で公的記録として残されている。複数の独立した記録ソースに証跡を分散保存している。
| Record Type | Reference |
|---|---|
| Source Code | github.com/.../38c7a99 |
| Production Deploy | line-harness.gyotak.workers.dev (Version: 422b9ea7) |
| Internet Archive (pre-Cardano) | 2026-04-11 23:46:55 UTC |
| Internet Archive (post-Cardano) | 2026-05-10 11:56:12 UTC |
| Internet Archive (final) | 2026-05-10 12:16:27 UTC |
| GYOTAK Cardano Address | addr1qxcprq7yjs3dylcan3cq30v27ljywxp534js6u4upygavmyszt4f4p6u9qkq2549kzhuhcnhw4hdxg00ztsmwqsq6ryqkp2vs3 |
| USDM Policy ID | c48cbb3d5e57ed56e276bc45f99ab39abe94e6cd7ac39fb402da47ad |
| Report | Topic | Perma.cc |
|---|---|---|
| ECOSUS-TR-2026-001 | Midnight ZKP Traceability | perma.cc/AH2L-HKBH |
| ECOSUS-TR-2026-002 | Catch Report Blockchain | perma.cc/X36J-KVGM |
| ECOSUS-TR-2026-003 | MCP x x402 (Base USDC) | perma.cc/RDF4-K64S |
| ECOSUS-TR-2026-004 | Cardano x402 Facilitator (本報告書) | 申請予定 |
本実装は調査時点で確認できる範囲では Cardano x402 + USDM facilitator の先行実装事例となるが、複数の制約が残されている。これらは事業継続上の問題ではなく、Cardano エコシステム全体の成熟に伴って解消される性質のものである。
単体動作テストはすべて完了しているが、CIP-30 ウォレットから USDM 送金 TX を構築し X-PAYMENT で送信する E2E フルフローテストは未実施である。これは GYOTAK 側の問題ではなく、クライアント側(AI エージェント)に Cardano x402 + CIP-30 統合実装がまだ普及していないことが理由である。
Cardano 決済の payer 認証は「verify 時点では取得不可、settle 後に Blockfrost クエリで取得可能」という制約がある。将来対応として B2B Customers シートに Cardano アドレス列を追加する方式を検討中。
15秒以内に確認できなければ pending を返す設計だが、遅延ケースの動作は未検証。大半の TX は15秒以内に確定するため実用上問題ない見込み。
TX の事前検証やマルチパート TX 処理は未実装。Blockfrost での submit 時検証で機能性には影響しないが、エラーメッセージの粒度が荒い。
TX submit と output 確認の両方を Blockfrost に依存。フェイルオーバー実装は将来課題だが、短期的には Blockfrost の SLA(99.9%)で十分と判断。
本実装は単一企業の事業ニーズから始まったが、Cardano エコシステム全体に対して以下の貢献を提供する。
調査時点で公開稼働を確認できる Cardano メインネット x402 facilitator として、最も早い実装事例の一つである。Cloudflare Worker での実装可能性、CBOR パース不要設計、ハイブリッドポーリング、マルチチェーン対応の構造を本実装から学べる。GitHub のコミット履歴は公開されており、誰でも参照・再利用可能。
実装の存在は GitHub、Internet Archive、Cardanoscan、perma.cc に分散保存されている。後続の研究者・開発者が Cardano AI Commerce の発展史を辿る際の一次資料となる。
タイの一次産業者(水産物販売)が事業上の必要性から実装した点が特徴。Cardano が実体経済における日常取引のインフラとして機能可能であることを示す稀少な事例。
商業利用可能なライセンスで公開予定。タイ・東南アジア・世界中の中小製造業者が Cardano x402 + USDM 決済を組み込む際の参照点となる。
GYOTAK は調査時点で公開稼働を確認できる Cardano メインネット x402 + USDM facilitator として、最も早い実装事例の一つを構築・本番稼働させた。Python リファレンス実装を Cloudflare Worker 環境に適合させた TypeScript 実装(約350行)により、追加の運用コストゼロで Cardano AI Commerce インフラを実現した。
本実装は GYOTAK 単独の事業のためだけではなく、Cardano エコシステム全体への参照実装・公共財として位置付けられる。実装の存在は GitHub、Internet Archive、Cardanoscan、Harvard Library Innovation Lab(perma.cc 申請予定)の複数の独立した公開記録に分散保存されており、第三者がいつでも検証可能である。
GYOTAK 事業計画書 v1.9 で示される「Catalyst 資金 → USDM → VIP 還元 → GYOTAK 売上」の全フローが Cardano チェーン上で完結する設計は、本実装によって技術的に裏付けられている。
This report documents the implementation by GYOTAK (a seafood brand of ECOSUS CO., LTD.) of x402 micropayment protocol settlement using USDM (a Cardano-native USD stablecoin issued by Mehen Finance) on the Cardano mainnet, deployed as a self-hosted facilitator running on Cloudflare Workers.
At the time of investigation (May 10, 2026), no publicly operational x402 facilitator service could be identified in the Cardano ecosystem; the expected official endpoint (payment.masumi.network) was unresponsive. GYOTAK referenced the Python implementation in the masumi-network/x402-cardano-examples repository and ported it to TypeScript, adapted for Cloudflare Worker constraints (no WASM, 30-second execution limit).
The implementation is deployed in production and publicly accessible at https://line-harness.gyotak.workers.dev/.well-known/mcp.json with Cardano + USDM support. Permanently archived on the Internet Archive.
This report follows ECOSUS-TR-2026-001 (Midnight ZKP), ECOSUS-TR-2026-002 (Midnight Preprod Migration), and ECOSUS-TR-2026-003 (MCP x x402 EVM) as the fourth technical record in the series. It serves as an early production reference implementation for subsequent manufacturers and developers in the Cardano AI Commerce ecosystem.
x402 is a micropayment protocol utilizing HTTP's 402 (Payment Required) status code, enabling autonomous payment by AI agents. Proposed by Coinbase in 2024, it has since evolved as a Linux Foundation open standard.
The basic x402 flow:
On April 28, 2026, the Cardano Foundation officially announced "Cardano becomes Official x402 Chain." Masumi Network was positioned as the core infrastructure for AI agent payments, with masumi-network/x402-cardano and masumi-network/x402-cardano-examples repositories published.
Cardano mainnet stablecoins include:
At the time of investigation (May 10, 2026), the expected Masumi public facilitator endpoints returned routing errors ("Can not GET ...") for both /health and /supported. No official documentation was found, and the x402-cardano-examples repository defaults FACILITATOR_URL to http://127.0.0.1:5051 (self-hosting assumed).
GYOTAK's business roadmap requires Cardano mainnet x402 settlement. Waiting for an official facilitator was deemed impractical. The decision to self-implement was based on:
Three hosting options were evaluated. Option A: separate Python server on Railway/Fly.io (monthly cost, additional ops). Option B: TypeScript re-implementation within Cloudflare Worker (zero cost, Worker constraints). Option C: defer Cardano support (no implementation needed but no Cardano-native settlement).
GYOTAK selected Option B for (1) zero cost sustainability, (2) minimal operational overhead on existing infrastructure, (3) strategic business importance.
Worker-specific constraints include no WASM (ruling out Lucid SDK and cardano-serialization-lib), 30-second execution limit (settle polling capped at 15 seconds with pending fallback), and fetch-only API (Blockfrost HTTP calls work natively).
The x402 Cardano protocol includes a signed TX as base64-encoded CBOR in payload.transaction. Full verification requires CBOR decoding, but heavy libraries don't run in Workers. Following the Python reference, /verify only checks base64 decodability, and /settle submits raw CBOR to Blockfrost which performs its own validation.
Cardano mainnet slot time is 20 seconds; TX finality typically takes 1-2 minutes. A hybrid design was adopted: after Blockfrost submit, poll /txs/<hash>/utxos every 3 seconds, up to 5 times (15 seconds). If confirmed, return success synchronously. If not, return pending for client polling via /status.
Implementation spans 4 files with backward-compatible design preserving existing EVM x402. Total new LOC: ~350 lines, implementation time: ~4 hours.
| File | LOC | Purpose |
|---|---|---|
cardano-facilitator.ts | 177 | Self-hosted Cardano facilitator (verify, settle, status) |
x402.ts | 252 (+135) | Multi-chain x402 core (pricing, routing, requirements) |
index.ts | +28 | MCP endpoint dual-network 402 response |
README-x402-cardano.md | 90 | Setup guide & test procedures |
Exports three functions: verifyCardanoPayment, settleCardanoPayment, checkCardanoTxOutput. Verify checks field integrity without CBOR parsing. Settle submits TX to Blockfrost then polls up to 15 seconds. checkCardanoTxOutput queries Blockfrost UTxOs to confirm payment output.
Added SupportedNetwork type ('base' | 'cardano-mainnet'). buildPaymentRequirements accepts network argument (default 'base' for backward compatibility). buildAllPaymentRequirements returns multi-network accepts array. detectNetwork auto-detects from payload structure. verifyPayment/settlePayment route to appropriate facilitator.
/.well-known/mcp.json restructured to networks array. 402 response returns multi-chain accepts. matchedReqs bug fix (network detection). BLOCKFROST_PROJECT_ID environment variable type definition added.
EVM VIP works via payload.authorization.from extraction. Cardano TX payload requires CBOR decode or Blockfrost query to identify payer. Current implementation defers Cardano VIP to future work. EVM VIP continues to function normally.
Launched with wrangler dev --remote using production secrets. Confirmed 402 response contains both Base USDC and Cardano USDM in accepts array.
$ curl -s POST http://localhost:8787/mcp ...
HTTP/1.1 402 Payment Required
accepts: [
{ "network": "base", "asset": "0x833589f...", "payTo": "0xdE04b..." },
{ "network": "cardano-mainnet", "asset": "c48cbb3d...", "payTo": "addr1qxc..." }
]
Deploy info: Commit 38c7a99 + 0a2b6ab, Worker version 422b9ea7, deploy date 2026-05-10, bundle size 1014.40 KiB / gzipped 213.81 KiB.
$ curl -s "https://line-harness.gyotak.workers.dev/.well-known/mcp.json" | jq '.x402.networks'
[
{ "network": "base", "asset_name": "USDC", "facilitator": "https://x402.org/facilitator" },
{ "network": "cardano-mainnet", "asset_name": "USDM", "facilitator": "self-hosted" }
]
The existence and operational state of this implementation are preserved as public records, independently verifiable by third parties across multiple record sources.
| Record Type | Reference |
|---|---|
| Source Code | github.com/.../38c7a99 |
| Production Deploy | line-harness.gyotak.workers.dev (Version: 422b9ea7) |
| Internet Archive (pre-Cardano) | 2026-04-11 23:46:55 UTC |
| Internet Archive (post-Cardano) | 2026-05-10 11:56:12 UTC |
| Internet Archive (final) | 2026-05-10 12:16:27 UTC |
| GYOTAK Cardano Address | addr1qxcprq7yjs3dylcan3cq30v27ljywxp534js6u4upygavmyszt4f4p6u9qkq2549kzhuhcnhw4hdxg00ztsmwqsq6ryqkp2vs3 |
| USDM Policy ID | c48cbb3d5e57ed56e276bc45f99ab39abe94e6cd7ac39fb402da47ad |
This report is the fourth in the ECOSUS Technical Report series, each archived on Harvard Library Innovation Lab's permanent archive system (perma.cc).
| Report | Topic | Perma.cc |
|---|---|---|
| ECOSUS-TR-2026-001 | Midnight ZKP Traceability | perma.cc/AH2L-HKBH |
| ECOSUS-TR-2026-002 | Catch Report Blockchain | perma.cc/X36J-KVGM |
| ECOSUS-TR-2026-003 | MCP x x402 (Base USDC) | perma.cc/RDF4-K64S |
| ECOSUS-TR-2026-004 | Cardano x402 Facilitator (this report) | Pending submission |
This implementation represents an early production deployment of a Cardano x402 + USDM facilitator, but several constraints remain. These are not business-critical issues but will resolve as the Cardano ecosystem matures.
Unit tests are complete, but a full E2E flow (CIP-30 wallet → signed USDM TX → X-PAYMENT → verify → execute → settle) has not been performed. This is due to limited availability of Cardano x402 + CIP-30 client implementations, not a limitation of the facilitator itself.
Payer identification requires CBOR decoding or post-settle Blockfrost query. Current VIP auth works only for EVM wallets. Future work will add a dedicated Cardano address column to B2B Customers.
The hybrid design returns pending after 15 seconds. Most Cardano TXs confirm within this window, but high-load behavior requires production observation.
TX pre-validation and detailed error feedback are not implemented. Blockfrost handles validation on submit. Error messages are coarse-grained.
Both TX submit and output verification rely on Blockfrost. Failover to alternative providers (Koios, Maestro) is a future enhancement. Blockfrost's 99.9% SLA is deemed sufficient short-term.
This implementation originated from a single company's business needs but provides contributions to the broader Cardano ecosystem.
Among the earliest publicly operational Cardano mainnet x402 facilitator implementations identified at the time of investigation. Demonstrates: Worker-based implementation without heavy WASM SDKs, CBOR-parse-free design, hybrid polling for serverless environments, and multi-chain architecture combining EVM and Cardano x402.
Implementation existence is distributed across GitHub, Internet Archive, Cardanoscan, and perma.cc, serving as primary source material for researchers tracing Cardano AI Commerce development.
Notable for being implemented by a Thai primary industry operator (seafood processing) out of business necessity, demonstrating Cardano's viability for everyday commercial transactions beyond the financial sector.
To be published under a commercially permissive license, enabling SME manufacturers worldwide to integrate Cardano x402 + USDM payments using this implementation as a reference.
GYOTAK has built and deployed one of the earliest identified publicly operational Cardano mainnet x402 + USDM facilitators. With the Masumi public facilitator unresponsive, the Python reference implementation was ported to TypeScript for Cloudflare Workers (~350 lines), achieving Cardano AI Commerce infrastructure at zero additional operational cost.
This implementation serves not only GYOTAK's business but as a reference implementation and public good for the Cardano ecosystem. Its existence is distributed across multiple independent public records (GitHub, Internet Archive, Cardanoscan, perma.cc pending), permanently verifiable by any third party.
The full "Catalyst funds → USDM → VIP rewards → GYOTAK revenue" flow described in the GYOTAK Business Plan v1.9, completing entirely on the Cardano chain, is technically validated by this implementation.
รายงานฉบับนี้บันทึกการพัฒนาโดย GYOTAK (แบรนด์อาหารทะเลของ ECOSUS CO., LTD.) ในการสร้างระบบชำระเงินผ่านโปรโตคอล x402 micropayment ด้วย USDM (stablecoin ดอลลาร์สหรัฐแบบ native ของ Cardano โดย Mehen Finance) บนเมนเน็ต Cardano โดยใช้ facilitator ที่พัฒนาเองบน Cloudflare Worker
ณ วันที่สำรวจ (10 พฤษภาคม 2026) ไม่พบบริการ x402 facilitator สาธารณะที่ทำงานอยู่ในระบบนิเวศ Cardano endpoint ที่คาดว่าเป็นทางการ (payment.masumi.network) ไม่ตอบสนอง GYOTAK จึงอ้างอิง Python reference implementation จาก masumi-network/x402-cardano-examples และย้ายมาเป็น TypeScript ที่เหมาะกับ Cloudflare Worker (ไม่รองรับ WASM, จำกัดเวลา 30 วินาที)
ระบบถูก deploy บน production แล้วที่ https://line-harness.gyotak.workers.dev/.well-known/mcp.json รองรับ Cardano + USDM เก็บถาวรใน Internet Archive แล้ว
รายงานนี้ต่อจาก ECOSUS-TR-2026-001 (Midnight ZKP), TR-2026-002 (Midnight Preprod), TR-2026-003 (MCP x x402 EVM) เป็นรายงานทางเทคนิคฉบับที่ 4 ของซีรีส์ เพื่อเป็น reference implementation สำหรับผู้พัฒนารายต่อไป
x402 เป็นโปรโตคอล micropayment ที่ใช้ HTTP status code 402 (Payment Required) ช่วยให้ AI Agent ชำระเงินได้อัตโนมัติ เสนอโดย Coinbase ในปี 2024 และพัฒนาเป็นมาตรฐานเปิดของ Linux Foundation
Cardano Foundation ประกาศอย่างเป็นทางการเมื่อ 28 เมษายน 2026 ว่า "Cardano becomes Official x402 Chain" โดย Masumi Network ถูกวางตำแหน่งเป็นโครงสร้างพื้นฐานหลักสำหรับ AI Agent payment
Stablecoin บนเมนเน็ต Cardano:
ณ วันสำรวจ (10 พ.ค. 2026) endpoint ที่คาดว่าเป็นของ Masumi (/health, /supported) ตอบกลับด้วย routing error ("Can not GET ...") ไม่พบเอกสาร และ x402-cardano-examples ตั้ง FACILITATOR_URL เป็น localhost (สมมติว่า host เอง)
GYOTAK มี roadmap ที่ต้องการ settlement บน Cardano mainnet การรอ facilitator ทางการไม่สมเหตุสมผล จึงตัดสินใจพัฒนาเอง:
พิจารณา 3 ตัวเลือก: Option A (Python server แยก, มีค่าใช้จ่ายรายเดือน), Option B (TypeScript ใน Worker, ฟรี แต่มีข้อจำกัด), Option C (เลื่อน Cardano ไปอนาคต) GYOTAK เลือก Option B เนื่องจากฟรี ใช้โครงสร้างที่มีอยู่ และมีความสำคัญเชิงกลยุทธ์
ข้อจำกัด: ไม่รองรับ WASM (ไม่ใช้ Lucid SDK), จำกัด 30 วินาที (settle polling สูงสุด 15 วินาที), fetch API เท่านั้น (Blockfrost ใช้ fetch ได้ปกติ)
โปรโตคอล x402 Cardano มี signed TX เป็น CBOR base64 GYOTAK ใช้แนวทางเดียวกับ Python reference: /verify ตรวจแค่ base64 decodability, /settle ส่ง CBOR ไปยัง Blockfrost ที่ตรวจสอบเอง ไม่ต้องมี CBOR parsing library
Cardano slot time 20 วินาที, TX finality 1-2 นาที ใช้ hybrid design: หลัง submit, poll ทุก 3 วินาที สูงสุด 5 ครั้ง (15 วินาที) ถ้ายืนยันได้ return success ทันที ถ้าไม่ได้ return pending ให้ client poll ต่อผ่าน /status
พัฒนา 4 ไฟล์ ออกแบบให้เข้ากันได้กับ EVM x402 เดิม รวม LOC ใหม่ ~350 บรรทัด ใช้เวลา ~4 ชั่วโมง
| ไฟล์ | บรรทัด | วัตถุประสงค์ |
|---|---|---|
cardano-facilitator.ts | 177 | Self-hosted Cardano facilitator (verify, settle, status) |
x402.ts | 252 (+135) | Multi-chain x402 core |
index.ts | +28 | MCP endpoint dual-network 402 response |
README-x402-cardano.md | 90 | คู่มือการตั้งค่าและขั้นตอนทดสอบ |
Export 3 ฟังก์ชัน: verifyCardanoPayment, settleCardanoPayment, checkCardanoTxOutput ส่วน verify ตรวจสอบ field integrity โดยไม่ parse CBOR ส่วน settle ส่ง TX ไปยัง Blockfrost แล้ว poll สูงสุด 15 วินาที
เพิ่ม SupportedNetwork type ('base' | 'cardano-mainnet') buildPaymentRequirements รับ network argument (default 'base') buildAllPaymentRequirements return accepts array หลายเชน detectNetwork ตรวจจับอัตโนมัติจาก payload
ปรับ /.well-known/mcp.json เป็น networks array 402 response return multi-chain accepts แก้ bug matchedReqs เพิ่ม BLOCKFROST_PROJECT_ID type definition
EVM VIP ใช้ payload.authorization.from แต่ Cardano ต้อง CBOR decode หรือ Blockfrost query เพื่อหา payer ปัจจุบัน Cardano VIP ยังไม่รองรับ (ใช้ EVM VIP ได้ปกติ) จะพัฒนาในอนาคต
ใช้ wrangler dev --remote กับ production secrets ยืนยันว่า 402 response มีทั้ง Base USDC และ Cardano USDM
$ curl -s POST http://localhost:8787/mcp ...
HTTP/1.1 402 Payment Required
accepts: [
{ "network": "base", "asset": "0x833589f...", "payTo": "0xdE04b..." },
{ "network": "cardano-mainnet", "asset": "c48cbb3d...", "payTo": "addr1qxc..." }
]
Deploy info: Commit 38c7a99 + 0a2b6ab, Worker version 422b9ea7, วันที่ 2026-05-10, bundle size 1014.40 KiB / gzipped 213.81 KiB
$ curl -s "https://line-harness.gyotak.workers.dev/.well-known/mcp.json" | jq '.x402.networks'
[
{ "network": "base", "asset_name": "USDC", "facilitator": "https://x402.org/facilitator" },
{ "network": "cardano-mainnet", "asset_name": "USDM", "facilitator": "self-hosted" }
]
การมีอยู่และสถานะการทำงานของการพัฒนานี้ถูกบันทึกเป็นหลักฐานสาธารณะที่บุคคลภายนอกสามารถตรวจสอบได้อิสระ กระจายหลักฐานไว้ในแหล่งบันทึกอิสระหลายแห่ง
| ประเภท | อ้างอิง |
|---|---|
| Source Code | github.com/.../38c7a99 |
| Production Deploy | line-harness.gyotak.workers.dev (Version: 422b9ea7) |
| Internet Archive (ก่อน Cardano) | 2026-04-11 23:46:55 UTC |
| Internet Archive (หลัง Cardano) | 2026-05-10 11:56:12 UTC |
| Internet Archive (สุดท้าย) | 2026-05-10 12:16:27 UTC |
| GYOTAK Cardano Address | addr1qxcprq7yjs3dylcan3cq30v27ljywxp534js6u4upygavmyszt4f4p6u9qkq2549kzhuhcnhw4hdxg00ztsmwqsq6ryqkp2vs3 |
| USDM Policy ID | c48cbb3d5e57ed56e276bc45f99ab39abe94e6cd7ac39fb402da47ad |
| รายงาน | หัวข้อ | Perma.cc |
|---|---|---|
| ECOSUS-TR-2026-001 | Midnight ZKP Traceability | perma.cc/AH2L-HKBH |
| ECOSUS-TR-2026-002 | Catch Report Blockchain | perma.cc/X36J-KVGM |
| ECOSUS-TR-2026-003 | MCP x x402 (Base USDC) | perma.cc/RDF4-K64S |
| ECOSUS-TR-2026-004 | Cardano x402 Facilitator (รายงานนี้) | อยู่ระหว่างยื่น |
การพัฒนานี้เป็นตัวอย่างการใช้งานล่วงหน้าของ Cardano x402 + USDM facilitator แต่ยังมีข้อจำกัดหลายประการ ซึ่งจะหมดไปเมื่อระบบนิเวศ Cardano เติบโต
Unit test ผ่านทั้งหมด แต่ full flow (CIP-30 wallet → signed TX → X-PAYMENT → verify → execute → settle) ยังไม่ได้ทำ เนื่องจาก client ฝั่ง AI Agent ที่รองรับ Cardano x402 + CIP-30 ยังไม่แพร่หลาย
การระบุ payer ต้อง CBOR decode หรือ Blockfrost query หลัง settle ปัจจุบัน VIP ใช้ได้เฉพาะ EVM wallet อนาคตจะเพิ่มคอลัมน์ Cardano address ใน B2B Customers
กรณี TX ไม่ confirm ภายใน 15 วินาที ส่วนใหญ่ TX จะ confirm ทันเวลา แต่ต้องสังเกตในสภาพ high-load
ไม่มี TX pre-validation หรือ error feedback ละเอียด แต่ Blockfrost ตรวจสอบเมื่อ submit จึงไม่กระทบฟังก์ชัน
ทั้ง submit และ verify ใช้ Blockfrost failover ไปยัง Koios/Maestro เป็นงานอนาคต ระยะสั้น SLA 99.9% ของ Blockfrost เพียงพอ
การพัฒนานี้เริ่มจากความต้องการของบริษัทเดียว แต่ให้คุณค่าต่อระบบนิเวศ Cardano โดยรวม
เป็นหนึ่งในตัวอย่างแรกๆ ที่ตรวจพบว่าทำงานจริงบน Cardano mainnet แสดงให้เห็นว่า Worker-based implementation, CBOR-parse-free design, hybrid polling และ multi-chain architecture ทำได้จริง
กระจายใน GitHub, Internet Archive, Cardanoscan, perma.cc เป็นแหล่งข้อมูลปฐมภูมิสำหรับนักวิจัย
พัฒนาโดยผู้ประกอบการอุตสาหกรรมปฐมภูมิของไทย (อาหารทะเล) จากความจำเป็นทางธุ��กิจ แสดงว่า Cardano ใช้ได้กับธุรกรรมประจำวันจริง
จะเผยแพร่ภายใต้ license เชิงพาณิชย์ ผู้ผลิต SME ทั่วโลกสามารถใช้เป็นจุดอ้างอิงในการรวม Cardano x402 + USDM
GYOTAK สร้างและ deploy หนึ่งในตัวอย่างแรกๆ ที่ตรวจพบว่าทำงานจริงของ Cardano mainnet x402 + USDM facilitator ในขณ���ที่ Masumi facilitator สาธารณะไม่ตอบสนอง โดยย้าย Python reference implementation มาเป็น TypeScript สำหรับ Cloudflare Worker (~350 บรรทัด) ไม่มีค่าใช้จ่ายดำเนินการเพิ่มเติม
การพัฒนานี้ไม่ใช่แค่เพื่อธุรกิจ GYOTAK แต่เป็น reference implementation และสาธารณประโยชน์สำหรับระบบนิเวศ Cardano หลักฐานกระจายใน GitHub, Internet Archive, Cardanoscan, perma.cc ตรวจสอบได้ตลอดเวลา
Flow ทั้งหมด "Catalyst funds → USDM → VIP rewards → GYOTAK revenue" ที่อธิบายในแผนธุรกิจ v1.9 ที่ทำงานบน Cardano chain ทั้งหมด ได้รับการยืนยันทางเทคนิคจากการพัฒนานี้