Openclaw Pqsafe

👤 rayc0 📦 v0.1.0 ⭐ 4.4 ⬇️ 555 下載
🤖 AI-Agent 免費 🔑 需 API Key

📖 技能介紹


name: pqsafe-pay-v1 description: Post-quantum signed SpendEnvelopes for AI agent payments. ML-DSA-65 (NIST FIPS 204) signatures over Airwallex, Wise, Stripe, USDC-Base, and x402 rails. version: 0.1.0 metadata: openclaw: requires: env: - PQSAFE_API_KEY bins: - node primaryEnv: PQSAFE_API_KEY envVars: - name: PQSAFE_API_KEY required: true description: PQSafe AgentPay API key from dashboard.pqsafe.xyz - name: PQSAFE_KEY_ID required: false description: ML-DSA-65 signing key ID (defaults to account default key) - name: PQSAFE_TEST_MODE required: false description: Set to "true" to use in-memory mocks for local development emoji: "🔐" homepage: https://pqsafe.xyz/openclaw-skill os: ["macos", "linux", "windows"] install: - kind: npm package: "@pqsafe/openclaw"


PQSafe Post-Quantum Payment Skill (pqsafe.pay.v1)

Post-quantum signed SpendEnvelopes for AI agent payments. ML-DSA-65 (NIST FIPS 204) signatures over Airwallex, Wise, Stripe, USDC-Base, and x402 rails.

Quick Start

npm install @pqsafe/openclaw
import { OpenClawClient } from "@openclaw/sdk";
import "@pqsafe/openclaw"; // registers pqsafe.pay.v1

const claw = new OpenClawClient();

const envelope = await claw.invoke("pqsafe.pay.v1/create_envelope", {
  agentId:   "agent_my_bot_v1",
  payerId:   "payer_usr_abc123",
  maxAmount: "100.00",
  currency:  "USD",
  rail:      "wise",
  expiresAt: "2026-12-31T23:59:59Z",
});

Set PQSAFE_TEST_MODE=true for local development — no real keys or network calls required.

Operations

Operation Description
create_envelope Issue a new ML-DSA-65 signed SpendEnvelope with spend cap, rail, and expiry
verify_envelope Verify signature integrity, expiry, nonce uniqueness, and key ID validity
revoke_envelope Append envelope ID to the real-time revocation list (append-only, timestamped)

Security Model

  • HSM-backed signing keys — ML-DSA-65 private keys are generated and stored in hardware security modules; they never leave the PQSafe key service
  • Single-use nonce — each envelope carries a 256-bit random nonce; replay attacks are rejected at the verify layer
  • Expiry enforced in signed payloadexpiresAt is part of the signed content; an attacker cannot extend expiry without invalidating the signature
  • Real-time revocation listrevoke_envelope appends to a low-latency revocation list checked on every verify_envelope call
  • Append-only audit log — all create, verify, and revoke events are timestamped and written to an immutable audit log
  • JCS-canonical signing — payload serialized in JSON Canonicalization Scheme form (RFC 8785) before signing, eliminating signature ambiguity from key ordering or whitespace variation

Supported Rails

Rail Status Currency
airwallex LIVE sandbox Multi-currency (real test transfers)
wise LIVE sandbox 40+ fiat currencies (real test transfers)
stripe mock-ready USD + 135 others
usdc-base mock-ready USDC
x402 mock-ready USDC + ETH

LIVE sandbox = validated end-to-end with sandbox rails. Mock-ready = SpendEnvelope creation and verification are fully functional; live rail integration is in progress.

ML-DSA-65 Parameters

Parameter Value
Standard NIST FIPS 204
Security level NIST Level 3
Public key size 1,952 bytes
Secret key size 4,032 bytes
Signature size 3,309 bytes
Hardness assumption Module-LWE + Module-SIS
  • Homepage: https://pqsafe.xyz/openclaw-skill

    來源於7w4.net。

  • npm package: https://www.npmjs.com/package/@pqsafe/openclaw
  • API docs: https://docs.pqsafe.xyz/agent-pay/openclaw
  • AP2-PQ Profile RFC: https://pqsafe.xyz/ap2-pq-rfc
  • NIST FIPS 204: https://csrc.nist.gov/pubs/fips/204/final
  • Source (Apache-2.0): https://github.com/PQSafe/pqsafe/tree/main/plugins/openclaw-pqsafe

License

Apache-2.0 — Security disclosures: security@pqsafe.xyz

🤖 AI 評測

這個 Skill 質量較好,文件詳盡且通俗,量子安全簽名方案可靠,測試覆蓋也比較全面。優點是支援多種支付渠道,有本地測試模式便於開發,錯誤處理清晰。主要不足是文件之間存在引數命名不一致的問題,可能導致開發者在使用時產生困惑;另外測試環境使用固定資料,若配置不當可能帶來安全隱患。建議開發團隊統一文件規範後再使用。

📊 多維度評分

適應性4.7
規範性4.3
有效性4.5
可靠性4.3
可信度4.3

📁 包含檔案 (13 個)

📄 README.md 8.8 KB
📄 SKILL.md 4.1 KB
📄 _meta.json 132 B
📄 dist/cjs/index.cjs 11.7 KB
📄 dist/index.d.ts 5.9 KB
📄 dist/index.js 10.1 KB
📄 package-lock.json 64.5 KB
📄 package.json 1.3 KB
📄 skill.json 11.6 KB
📄 src/index.ts 15.4 KB
📄 tests/skill.test.ts 10.3 KB
📄 tsconfig.cjs.json 227 B
📄 tsconfig.json 459 B