Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

Openclaw Pqsafe

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

Audits

Suspicious

Install

openclaw skills install pqsafe-pay-v1

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

OperationDescription
create_envelopeIssue a new ML-DSA-65 signed SpendEnvelope with spend cap, rail, and expiry
verify_envelopeVerify signature integrity, expiry, nonce uniqueness, and key ID validity
revoke_envelopeAppend 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

RailStatusCurrency
airwallexLIVE sandboxMulti-currency (real test transfers)
wiseLIVE sandbox40+ fiat currencies (real test transfers)
stripemock-readyUSD + 135 others
usdc-basemock-readyUSDC
x402mock-readyUSDC + 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

ParameterValue
StandardNIST FIPS 204
Security levelNIST Level 3
Public key size1,952 bytes
Secret key size4,032 bytes
Signature size3,309 bytes
Hardness assumptionModule-LWE + Module-SIS

Links

License

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