Skip to main content
Glama

🕊️ Freedom Commerce Protocol

エージェントネイティブなマーケットプレイス — AIエージェントがHTMLを1行も書かずにサービスを発見、交渉、購入できる場所。

「2030年までにエージェントが3兆〜5兆ドルの商取引を調整するようになるなら、ブラウザを使う人間向けではなく、エージェント自身のために構築されたマーケットプレイスが必要だ。」

Freedom Commerceは、**エージェントによる商取引(agentic commerce)**のためのオープンプロトコルおよびリファレンス実装です。これは、マシン・ツー・マシン(M2M)の取引のためにゼロから設計されたマーケットプレイスAPIです。CAPTCHAも、DOM解析も、壊れやすいブラウザ自動化も必要ありません。純粋なJSON、MCPツール定義、そしてプロトコル主導の交渉のみです。


なぜこれが存在するのか

今日のウェブは人間向けに構築されています。ウェブをナビゲートするAIエージェントは以下のような問題に直面しています:

❌ 自動アクセスをブロックする CAPTCHA ❌ DOM解析を壊す JavaScript多用のページ ❌ 一貫性のない構造 — サイトごとに異なる ❌ 機械可読な価格設定がない — エージェントがオファーを比較できない ❌ 交渉プロトコルがない — 言い値で買うか、諦めるしかない ❌ 標準化されたチェックアウトがない — 決済フローがすべてバラバラ

Freedom Commerceはこれを一変させます:APIが店舗そのものになります。 エージェントはJSONエンドポイントを呼び出し、MCPツール定義を取得し、価格を交渉し、取引を行います。すべてミリ秒単位で完了します。

現在のウェブ → 人間がHTMLを閲覧し、フォームに入力し、ボタンをクリックする Freedom Commerce → エージェントが POST /api/purchase を呼び出し、領収書を受け取る


仕組み

┌─────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  AI Agent   │────▶│  Freedom Commerce │────▶│  Service        │
│  (Claude,   │     │  Protocol API     │     │  Providers      │
│   GPT,      │◀────│  (localhost:4000) │◀────│  (APIProxy,     │
│   Grok,     │     │                   │     │   DataForge...) │
│   etc.)     │     └──────────────────┘     └─────────────────┘
│             │            │
│  Discovers  │            │ MCP Tool Definitions
│  Negotiates │            │ Agent-to-Agent Negotiation
│  Purchases  │            │ ACP-compatible Payments
└─────────────┘            └──────────────────────────────────

エージェントのフロー

  1. 発見 — GET /api/services?category=infrastructure&maxPrice=10

  2. 調査 — GET /api/services/{id} で詳細とプロバイダー情報を取得

  3. 比較 — GET /api/mcp/tools で、すべての購入オプションをMCPツール定義として確認

  4. 交渉 (オプション) — POST /api/negotiate で希望価格を提示

  5. 購入 — POST /api/purchase → 署名付き領収書を取得


アーキテクチャ

freedom-commerce/
├── server.js              # HTTP server — agent-first API
├── lib/
│   └── registry.js        # Service registry, negotiation engine, MCP tool generator
├── protocols/             # (ready for ACP, UCP, A2A protocol adapters)
├── public/
│   └── index.html         # Human dashboard (for monitoring only)
├── package.json
└── README.md

コアコンセプト

コンセプト

説明

プロバイダー

サービスの販売者 (APIProxy, DataForge, LogTailなど)

サービス

価格、カテゴリ、条件を備えた購入可能な提供物

MCPツール

エージェントが呼び出せる機械可読なアクション定義

交渉

対抗オファーを伴うエージェント間の価格議論

取引

暗号化された領収書を伴う完了した購入


APIリファレンス

すべてのエンドポイントは application/json を返します。エージェントは X-Agent-ID ヘッダーで自身を識別します。

発見

GET /api/services

エージェント主導のフィルタリング用クエリパラメータ:

パラメータ

型

例

説明

category

string

infrastructure

カテゴリでフィルタリング

maxPrice

number

10

最大価格

minRating

number

4.0

プロバイダーの最低評価

keywords

string

proxy

名前と説明のテキスト検索

レスポンス:

{
  "query": { "category": "infrastructure", "maxPrice": 10 },
  "count": 3,
  "services": [
    {
      "name": "API Proxy — 10k requests",
      "category": "infrastructure",
      "price": 4.99,
      "currency": "USD",
      "description": "10,000 API proxy requests with global CDN caching",
      "deliveryTime": "instant",
      "terms": "Monthly subscription, cancel anytime",
      "provider": { "name": "APIProxy", "rating": 4.8 }
    }
  ]
}

MCPツール定義

GET /api/mcp/tools

Model Context Protocol と互換性のあるツール定義を返します。エージェントはこれを使用して、どのような購入アクションが利用可能かを理解します。

{
  "protocol": "MCP/1.0",
  "tools": [
    {
      "name": "purchase_api_proxy_10k",
      "description": "Purchase: API Proxy — 10k requests",
      "inputSchema": {
        "type": "object",
        "properties": {
          "quantity": { "type": "number" },
          "maxPrice": { "type": "number" }
        },
        "required": ["quantity"]
      },
      "_acp": {
        "price": 4.99,
        "currency": "USD",
        "paymentEndpoint": "/api/payments/svc_xxx"
      }
    }
  ]
}

購入

POST /api/purchase
Content-Type: application/json
X-Agent-ID: my-agent

{
  "serviceId": "svc_xxx",
  "quantity": 2
}

レスポンス:

{
  "transaction": {
    "id": "txn_1747432892",
    "status": "completed",
    "price": 9.98,
    "currency": "USD"
  },
  "receipt": "FCP-txn_1747432892"
}

交渉 (エージェント間)

POST /api/negotiate
Content-Type: application/json
X-Agent-ID: my-agent

{
  "serviceId": "svc_xxx",
  "offer": { "price": 3.99 }
}

プロバイダーの対抗オファー:

POST /api/negotiate/{id}/counter
{ "price": 4.50 }

エージェントの承諾:

POST /api/negotiate/{id}/accept

マーケットプレイス統計

GET /api/stats
{
  "totalProviders": 5,
  "totalServices": 8,
  "totalTransactions": 42,
  "totalRevenue": 249.50,
  "activeNegotiations": 3
}

クイックスタート

# Clone
git clone https://github.com/BARRYPMARSHALL/freedom-commerce.git
cd freedom-commerce

# Run (no dependencies needed — pure Node.js)
node server.js

# The marketplace starts with 8 demo services from 5 providers
# Agent API: http://localhost:4000/api/services
# Dashboard: http://localhost:4000/

npm installは不要です。 外部依存関係はゼロ。純粋なNode.js http モジュールのみです。


シードサービス

サーバーはデモンストレーション用に、あらかじめシードされたマーケットプレイスで起動します:

サービス

プロバイダー

カテゴリ

価格

API Proxy — 10k req

APIProxy

infrastructure

$4.99

API Proxy — 100k req

APIProxy

infrastructure

$29.99

Synthetic Dataset — 1k rows

DataForge

data

$9.99

Synthetic Dataset — 10k rows

DataForge

data

$49.99

Log Ingestion — 1GB/mo

LogTail

infrastructure

$14.99

Email Sending — 1k emails

MailJet

communication

$2.99

Serverless Compute — 10hr

ComputeCells

compute

$5.99

GPU Compute — 1hr A100

ComputeCells

compute

$2.49


プロトコル互換性

Freedom Commerceは、新興のエージェント商取引プロトコルとブリッジするように設計されています:

プロトコル

ステータス

説明

MCP (Model Context Protocol)

✅ ネイティブ

すべてのサービスに対してツール定義を自動生成

ACP (Agentic Commerce Protocol)

🔧 アダプター準備中

Stripe/OpenAI決済標準 — Stripeキーを追加

UCP (Universal Commerce Protocol)

🔧 アダプター準備中

Shopify/Googleのカタログ発見標準

A2A (Agent-to-Agent)

🔧 将来対応

Googleのエージェント相互運用性プロトコル


デプロイメント

ローカル (ngrok)

# Start the server
node server.js &

# Expose via ngrok
ngrok http 4000

本番環境 (Railway / Fly.io / Render)

サーバーはステートレスであり、単一のプロセスとしてデプロイされます。ビルドステップは不要です。

# Example: Deploy to Railway
railway login
railway init
railway up

プラットフォームに割り当てられたポートに合わせて PORT 環境変数を設定してください。


何が違うのか

従来のEコマース

Freedom Commerce

顧客

ブラウザを使う人間

AIエージェント

インターフェース

HTML + CSS + JS

JSON API + MCPツール

発見

SEO、広告、検索

GET /api/services?category=X

比較

手動でのタブ切り替え

maxPrice + minRating フィルタ

価格設定

固定、人間による交渉

エージェント間交渉プロトコル

チェックアウト

フォーム + CAPTCHA

POST /api/purchase → 領収書

購入までの時間

数分

100ms未満


ビジョン

Freedom Commerceは、エージェントネイティブな経済への第一歩です。そこでは:

  • エージェントがサブスクリプションを管理し、備品を再注文し、プロバイダーを自律的に比較・切り替えします

  • プロバイダーはSEOや広告費ではなく、APIの品質で競い合います

  • 人間は予算とポリシーを設定し、エージェントが実行します

  • 市場は数日ではなく、ミリ秒単位で決済されます

  • プロトコル (MCP, ACP, UCP) がマシン商取引のための普遍的なレイヤーを構築します

3兆〜5兆ドルという予測は、人間がより速く買い物をするということではなく、エージェントが私たちの代わりに買い物をするということです。しかし、エージェントは人間の目向けに作られたウェブでは買い物ができません。彼らにはAPI、ツール定義、そしてプロトコルが必要です。それがこれです。


ライセンス

MIT — 自由に構築してください。


Built by Freedom 🕊️ for Barry Marshall


💰 暗号資産決済レール

Freedom Commerceは暗号資産ネイティブな決済の上に構築されています。なぜなら、エージェントは銀行口座を持たず、ウォレットを持っているからです。

対応決済方法

方法

チェーン

トークン

手数料

決済時間

USDC送金

Base L2

USDC

0.5% プロトコル手数料

約12秒

x402 マイクロペイメント

Base L2

USDC

0.5% プロトコル手数料

約$0.001 ガス代

エスクローコントラクト

Base L2

USDC

0.5% プロトコル手数料

オンチェーン確定

ネイティブETH

Ethereum

ETH

0.5%

約12秒

ネイティブSOL

Solana

SOL

0.5%

約2秒

なぜ暗号資産なのか?

法定通貨の決済レール(Stripe, PayPal)はエージェント商取引には適していません:

問題

法定通貨

暗号資産

最小取引額

$0.50以上

0.000001セント

決済時間

2-3営業日

約12秒 (Base L2)

KYC要件

人間である必要あり

ウォレットのみ

チャージバック

180日間のリスク

最終決済

国境を越える手数料

3%+の為替手数料

どこでも同じコスト

エージェントの自律性

不可能 (人間が必要)

完全にプログラム可能

暗号資産APIエンドポイント

POST /api/crypto/pay          → Create USDC payment request
POST /api/crypto/verify       → Verify on-chain payment
POST /api/crypto/escrow       → Create escrow contract
POST /api/crypto/escrow/:id/deposit   → Deposit into escrow
POST /api/crypto/escrow/:id/release   → Release funds
POST /api/crypto/escrow/:id/refund    → Refund (dispute)
POST /api/crypto/x402         → x402 micropayment request
GET  /api/crypto/methods      → Supported chains/tokens
GET  /api/crypto/quote        → Fee quote
GET  /api/crypto/solidity     → Escrow contract template
GET  /api/crypto/stats        → Payment statistics

プロトコルアーキテクチャ

┌──────────────┐     ┌──────────────────┐     ┌──────────────┐
│   AI Agent   │────▶│ Freedom Commerce │────▶│   Provider   │
│  (Wallet)    │     │  (Marketplace)   │     │  (Wallet)    │
│              │     │                  │     │              │
│  1. Discover │     │  3. Create       │     │  5. Deliver  │
│     services │     │     escrow       │     │     service  │
│  2. Negotiate│     │  4. Both deposit │     │  6. Confirm  │
│     price    │     │     USDC         │     │              │
│              │     │                  │     │              │
│              │     │  7. Release      │     │              │
│              │     │     funds        │     │              │
│              │     │  8. Protocol fee │     │              │
└──────────────┘     └──────────────────┘     └──────────────┘
                              │
                     ┌────────┴────────┐
                     │    On-Chain     │
                     │    (Base L2)    │
                     │  USDC + Escrow  │
                     └─────────────────┘

暗号資産でのクイックスタート

# 1. Discover a service
curl http://localhost:4000/api/services?category=infrastructure

# 2. Get a crypto quote
curl "http://localhost:4000/api/crypto/quote?amount=10"

# 3. Create an escrow (agent + provider deposit USDC)
curl -X POST http://localhost:4000/api/crypto/escrow \
  -H "Content-Type: application/json" \
  -d '{"agentWallet":"0xAgent...","providerWallet":"0xProvider...","amount":10}'

# 4. Agent deposits into escrow
curl -X POST http://localhost:4000/api/crypto/escrow/ESCROW_ID/deposit \
  -d '{"wallet":"0xAgent...","party":"agent"}'

# 5. Provider deposits
curl -X POST http://localhost:4000/api/crypto/escrow/ESCROW_ID/deposit \
  -d '{"wallet":"0xProvider...","party":"provider"}'

# 6. Release funds on delivery
curl -X POST http://localhost:4000/api/crypto/escrow/ESCROW_ID/release

エスクローコントラクトのデプロイ

完全なSolidityエスクローコントラクトが以下で利用可能です:

GET /api/crypto/solidity

Base L2へのデプロイ:

# Using Foundry
forge create FreedomEscrow \
  --rpc-url https://base-rpc.publicnode.com \
  --private-key $YOUR_KEY \
  --constructor-args $AGENT_ADDR $PROVIDER_ADDR $FEE_COLLECTOR $USDC_BASE $AMOUNT $DEADLINE

ロードマップ

  • [x] Base L2でのUSDC決済

  • [x] x402マイクロペイメントプロトコル

  • [x] Solidityコントラクトによるオンチェーンエスクロー

  • [x] マルチチェーンサポート (ETH, SOL, MATIC)

  • [ ] Baseメインネットへのエスクローコントラクトデプロイ

  • [ ] Coinbase Smart Wallet統合

  • [ ] クロスチェーン決済 (LayerZero/Wormhole)


🚀 デプロイメント

Railway (推奨)

# Install Railway CLI
npm install -g @railway/cli

# Deploy
railway login
cd freedom-commerce
railway init
railway up

Docker

docker build -t freedom-commerce .
docker run -p 4000:4000 freedom-commerce

手動

git clone https://github.com/BARRYPMARSHALL/freedom-commerce.git
cd freedom-commerce
node server.js

環境変数

変数

デフォルト

説明

PORT

4000

HTTPサーバーポート

FEE_WALLET

0xFreedom_Fee_Collector

プロトコル手数料受取先


🤝 MCP統合

Freedom Commerceは Awesome MCP Servers ディレクトリに登録されています (PR #5570 保留中)。

Claude Desktop

claude_desktop_config.json に追加してください:

{
  "mcpServers": {
    "freedom-commerce": {
      "command": "node",
      "args": ["/path/to/lib/mcp-server.js"]
    }
  }
}

MCPクライアント

エンドポイントは完全なMCP互換ツール定義を返します:

GET /api/mcp/tools

Related MCP Connectors