# TAP：基于Solana状态通道的流式LLM推理按token支付协议

> TAP是一个创新的支付协议，通过Solana状态通道实现LLM推理的逐token付费，消费者可在任意输出token边界暂停，仅支付实际接受的输出内容，解决传统API"先付后用"造成的浪费问题。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-10T05:15:29.000Z
- 最近活动: 2026-05-10T05:18:23.380Z
- 热度: 150.9
- 关键词: LLM推理, Solana, 状态通道, 支付协议, x402, token计费, Agent工作流, 区块链支付
- 页面链接: https://www.zingnex.cn/forum/thread/tap-solanallmtoken
- Canonical: https://www.zingnex.cn/forum/thread/tap-solanallmtoken
- Markdown 来源: ingested_event

---

# TAP：基于Solana状态通道的流式LLM推理按token支付协议\n\n## 背景：LLM推理付费模式的痛点\n\n当前主流的大语言模型API采用"先付后用"的计费模式：用户需要为模型生成的每一个token付费，包括那些最终被丢弃的内容。在Agent工作流中，部分响应可能因质量不佳、格式不符或偏离主题而被弃用，但用户仍需为这些"废token"买单。以一个典型场景为例：某工作流每天调用1000次，每次响应成本约0.02美元，若5%的响应被拒绝，每天就会浪费10美元——这还不包括重试成本。\n\n更深层的问题是，当用户发现模型输出偏离预期时，已经无法中断计费。这种结构性缺陷催生了TAP（Token-by-token Asymmetric Payments）的诞生。\n\n## TAP协议概述\n\nTAP是构建在Solana状态通道之上的支付协议，基于x402 HTTP支付标准设计。其核心创新在于：消费者和生产者都可以在任意输出token边界暂停生成，链上结算仅针对消费者实际接受的token进行。\n\n该协议是Solana Frontier 2026黑客马拉松的参赛作品，包含完整的技术白皮书、Python SDK和演示应用。\n\n## 核心机制：双向暂停与逐token结算\n\n### 输入预付费机制\n\n在通道开启时，消费者预付输入费用。生产者使用声明的分词器对提示词进行token化，消费者在本地重新token化以验证，最终锁定的预付输入金额成为结算下限——这保证了生产者的预填充计算成本得到覆盖，同时避免消费者过度预付。\n\n### 输出逐token付费\n\n消费者签署的每个承诺包含累计付费金额：\n```\ncumulative_paid = prepaid_input + (output_tokens × output_price)\n```\n\n这种设计精确反映了LLM推理的不对称成本结构：输入处理（prefill）和输出生成（decode）的成本差异被准确建模。\n\n### 双向暂停权\n\n**消费者暂停场景**：当模型偏离主题、违反JSON schema、超出长度限制，或任何自定义评估器判定需要停止时，消费者可立即暂停。\n\n**生产者暂停场景**：当消费者停止签署承诺时，生产者可以暂停服务。\n\n**风险上限**：任一方在流中途停止的最大损失被限制在一个小额可配置的批次内——通常仅为几美分的输出成本。\n\n## 技术架构\n\n### 链上组件（Anchor程序）\n\n- **状态通道管理**：PDA（程序派生地址）托管USDC，实现资金锁定与释放\n- **承诺验证**：Ed25519签名验证确保承诺不可否认\n- **结算逻辑**：支持正常结算、争议处理和通道关闭\n- **指令集**：open_channel、settle、dispute、close\n\n### Python SDK架构\n\nSDK采用高度模块化的设计，单文件单职责：\n\n- **protocol模块**：承诺schema、编解码、Ed25519签名\n- **chain模块**：PDA派生、指令构建、RPC交互\n- **x402模块**：x402线格式（requirements、payment、response）\n- **consumer模块**：TapConsumer、会话编排、自适应批处理\n- **producer模块**：TapProducer、验证器、结算处理\n- **adapters模块**：Gemini（已集成）、Anthropic/OpenAI/Ollama（脚手架）\n- **evaluators模块**：JSON schema、长度、主题、重复、内容策略评估\n- **tokenizer模块**：分词器注册表，支持§4.9提示词token报价\n- **timing模块**：优雅期/暂停/总会话超时管理\n\n### 演示应用\n\nTAP提供完整的端到端演示：\n\n- **producer.py**：FastAPI生产者服务（Gemini后端）\n- **runner.py**：驱动TapConsumer的FastAPI后端\n- **consumer.py**：CLI消费者（单流式请求）\n- **dashboard.py**：实时终端仪表板\n- **frontend/**：Vite + React + TypeScript仪表板\n\n## 工作流程\n\n```\n┌────────────────┐ x402 (open channel) ┌────────────────┐\n│                │ ──────────────────────────► │                │\n│    Consumer    │                           │    Producer    │\n│  (TapConsumer) │ ◄───────────────────────── │  (TapProducer) │\n│                │   HTTP 402 + requirements   │                │\n│                │                           │                │\n│                │ ──── POST /messages (body) ► │ wraps         │\n│                │                           │ Gemini         │\n│                │ ◄ HTTP 402 + prompt-bound ─ │ (Anthropic/   │\n│                │   input_token_count / quote │  OpenAI/      │\n│                │                           │  Ollama)       │\n│                │ ─ POST X-PAYMENT (open) ──► │                │\n│                │ ◄─── SSE: tokens + acks ─── │                │\n│                │ ──── X-TAP-COMMIT (×N) ───► │                │\n│                │   (signed by session key)   │                │\n└───────┬────────┘                           └────────┬───────┘\n        │                                             │\n        │      Solana state channel (USDC escrow PDA) │\n        │  ────── open_channel ──────────────────►    │\n        │  ◄─── settle (latest commitment) ────       │\n        │  ────── dispute (if stale) ────────►        │\n        │  ────── close (after window) ──────►        │\n        ▼                                             ▼\n              tap on-chain program (Anchor)\n```\n\n## 应用场景与赛道定位\n\n### AI赛道\n\nToken定价推理是TAP的典型用例，为Agent工作流提供精细化的成本控制。\n\n### 支付赛道\n\nTAP作为状态通道支付协议，在x402之上构建而非与之竞争。v1规范定义了线格式兼容点（白皮书§3.3、§B.1）。\n\n### DePIN赛道\n\n去中心化推理网络需要公平的按请求结算，TAP提供了无需中心化计费服务的支付通道。\n\n### 消费者应用\n\n聊天界面获得真正有效的"停止"按钮——不仅停止可见token生成，同时停止链上计费。\n\n## 未来扩展\n\n白皮书§9详细描述了该通道构造可支持的扩展应用：\n\n- **音频/视频流**：按秒/帧计费\n- **GPU租赁**：按计算时间计费\n- **计量API**：任意字节流的可中断付费\n\n## 技术实现细节\n\n### 本地运行\n\n```bash\n# 构建与部署\nanchor build\nanchor deploy --provider.cluster devnet\nanchor test\n\n# Python SDK\ncd sdk/python\npip install -e '.[anthropic]'\npytest\n```\n\n### 演示环境配置\n\n```bash\nexport GEMINI_API_KEY=...\nexport TAP_PRODUCER_KEYPAIR=~/.config/solana/producer.json\nexport TAP_CONSUMER_KEYPAIR=~/.config/solana/consumer.json\nexport TAP_RPC=https://api.devnet.solana.com\n\n# 启动生产者\nuvicorn demo.producer:app --host 0.0.0.0 --port 8000\n\n# 启动消费者后端\nuvicorn demo.runner:app --port 8001\n\n# 启动前端\ncd demo/frontend && npm install && npm run dev\n```\n\n访问http://localhost:5173，开启"强制JSON schema"选项，输入非结构化文本，观察评估器如何在流中途暂停并退还未使用押金。\n\n## 总结\n\nTAP协议通过状态通道和逐token结算机制，为LLM推理服务提供了一种更公平、更高效的付费模式。消费者获得真正的控制权——可以在任意时刻停止并仅支付已接受的内容；生产者获得有保障的预填充成本覆盖。这种双向保护机制有望推动LLM API计费模式从"先付后用"向"按需付费"演进，为Agent经济基础设施奠定重要基石。
