Interline

io.github.Choppaaahh由 GitHub 帳號 Choppaaahh 發布v0.1.3更新於 Oct 24, 2026

Neutral, non-custodial MCP payment router: discover rails, then pay across them.

已驗證STDIO僅桌面金融開發者工具

概覽

AI 產生的概覽

已封存的非託管 MCP 支付路由,讓助理探索代理支付通道並以 USDC 為受付費牆保護的端點付款。

可以做什麼
探索可供代理使用的支付通道與端點,並透過一次路由呼叫在 x402(EVM 與 Solana)及 MPP 通道上為受保護資源付款。使用買方錢包金鑰簽署 USDC 支付授權並取得結算收據。以非託管方式路由支付,伺服器本身不持有資金。README 另描述以付費牆保護自有端點及入站 AP2 授權轉接器,但專案已封存,清單中未列出任何工具。
適用情境
僅適合在測試網上參考或實驗代理間小額支付,例如研究助理如何為受付費牆保護的端點付款。專案已封存且無人維護,不適合正式環境使用。
執行需求
以本機 Python 程序執行,從 PyPI 安裝(interline)。付款需要 APV0_BUYER_PRIVATE_KEY 中的買方錢包私鑰,並以 APV0_NETWORK 選擇 base-sepolia(預設)或 base。實際結算需要測試網 USDC 以及連線 facilitator 的網路存取。
安裝前請注意
APV0_BUYER_PRIVATE_KEY 是錢包私鑰,持有者可控制錢包資金,請使用專用測試網錢包並避免提交到版本控制。將 APV0_NETWORK 設為 base 會花費真實主網 USDC。支付會簽署並上鏈廣播,無法撤銷。專案已封存,測試網示範無人監控。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Interline,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Interline — agent-to-agent payment router

Archived (2026-10-10). Interline is no longer maintained. The code stays here for reference; nothing is being developed, and the testnet demos are not monitored.

An agent-to-agent payment router: one agent does work, another agent pays for it, no human keys a card. Interline is a neutral, non-custodial router over the fragmented agent-payment-rail stack — "OpenRouter for agent payments." Built on x402 (HTTP-402 micropayments, USDC), aggregator-shaped so adding a rail is one adapter, not a rewrite.

Today it routes payments across three live rails — x402 USDC on EVM (Base Sepolia) and on Solana (devnet), plus MPP on Tempo (Moderato testnet) — all behind one Paywall.gate() call. Real on-chain agent-to-agent settles are confirmed on all three. It ships an MCP router so agents can discover + pay endpoints, and includes a Google-AP2 inbound adapter — a signed AP2 mandate (verified, constraint-checked + freshness-gated) settles non-custodially on the rails.

Run the demo (no wallet, no faucet, no risk)

bash
python3 -m venv .venv && source .venv/bin/activatepip install -r requirements.txtpython3 run_demo.py

Expected: DEMO PASS — agent paid agent, settlement receipt issued.

What just happened (the x402 "exact-evm" loop):

buyer GET /work  -> seller 402 + PaymentRequirements {amount, asset=USDC, payTo, network}  -> buyer signs an EIP-3009 transferWithAuthorization (gasless USDC auth)  -> buyer retries with X-PAYMENT header (base64 signed payload)  -> facilitator VERIFIES the signature (real signer-recovery) + checks policy  -> facilitator SETTLES (mock: fake tx hash; live: on-chain USDC transfer)  -> seller 200 + work product + X-PAYMENT-RESPONSE receipt (tx hash)

The facilitator's verify step is real cryptography even in mock mode — it recovers the EIP-712 signer and matches it to the authorization. Only the on-chain broadcast is mocked. So a passing demo proves the buyer's signing is protocol-correct against real USDC.

Files

filerole
router/paywall.pythe reusable Paywall primitive — gate any endpoint behind x402 in one .gate() call
router/ledger.pysettlement receipt-ledger → logs/agent_payment_settlements.jsonl (audit trail)
router/seller.pyFastAPI agent that sells work — defines the requirements + work, wires one Paywall.gate()
router/buyer.pyagent that auto-pays 402s (pay_and_get) with a client-side spend limit
router/eip3009.pythe one crypto-subtle file: EIP-3009 typed-data, shared by buyer+facilitator so they can't drift
router/facilitator_mock.pyin-process verify+settle (real sig check, mock chain) — the dry-run rail
router/facilitator_real.pylive x402 facilitator over HTTP via the x402 SDK's own client; get_facilitator() picks mock↔real by config
router/config.pynetwork/asset facts + .env loader; mock↔testnet↔mainnet is a one-line env change
run_demo.pyend-to-end smoke (ephemeral keys, mock facilitator)
run_live.pylive runner — settles a real x402 payment on Base Sepolia

Go live (Base Sepolia testnet)

  1. Two testnet wallets (buyer signs, seller receives):

    bash
    python3 -c "from eth_account import Account; a=Account.create(); print('addr', a.address); print('key', a.key.hex())"

    Do this twice. Keep the keys out of git (use .env).

  2. Fund the buyer with Base Sepolia testnet USDC (Circle faucet) + a little testnet ETH for any gas the facilitator relays.

  3. .env (copy .env.example → .env, it's gitignored + auto-loaded):

    APV0_NETWORK=base-sepoliaAPV0_BUYER_PRIVATE_KEY=0x...        # buyer testnet key (signs)APV0_SELLER_ADDRESS=0x...           # seller address (receives)APV0_FACILITATOR_URL=https://x402.org/facilitator
  4. Run it live:

    bash
    python3 run_live.py

    The seller now uses RealFacilitator (the x402 SDK's own facilitator client), the buyer auto-pays the 402, and x402.org broadcasts the EIP-3009 USDC transfer on-chain. You get a real tx hash → https://sepolia.basescan.org/tx/<hash>.

    Gasless: with EIP-3009 the facilitator relays gas, so the buyer only needs testnet USDC, not ETH.

Gate your own endpoint (the product primitive)

python
from router.paywall import Paywallfrom router.facilitator_real import get_facilitator
paywall = Paywall(get_facilitator(), my_requirements_fn)   # mock ↔ real by env
@app.get("/my-endpoint")def my_endpoint(request: Request):    return paywall.gate(request, lambda: do_expensive_work())

That one .gate() call handles the whole x402 V2 dance — 402 challenge → verify → settle → record receipt → deliver — and appends every settlement to the receipt-ledger. The deployer never touches the protocol or holds a key.

v1 dogfood — pay an agent, get REAL work back

v0 proved the payment. v1 proves the loop: a buyer agent pays → a seller agent does real inference → returns the result + a settlement receipt. The seller's _do_the_work(task) is the product's integration point (plug in your own model/compute/service).

bash
APV0_OPENROUTER_KEY=sk-or-... python3 run_v1_dogfood.py "your task here"

→ V1 DOGFOOD PASS — agent paid agent for real work ✅ (mock payment + real model call by default; set APV0_NETWORK=base-sepolia for a real on-chain settle under the same loop). Without a key it returns a stub so the product still runs.

This is the authentic loop: an agent doing real work, metered + paid-for over x402 — the same primitive whether the work is a model call, a compute job, or any other billable agent task.

來源:README.md,提交 8cea962

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分