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.
bash
npm install @pqsafe/openclaw
typescript
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.
OperationDescriptioncreate_envelopeIssue a new ML-DSA-65 signed SpendEnvelope with spend cap, rail, and expiryverify_envelopeVerify signature integrity, expiry, nonce uniqueness, and key ID validityrevoke_envelopeAppend envelope ID to the real-time revocation list (append-only, timestamped)
expiresAt is part of the signed content; an attacker
cannot extend expiry without invalidating the signaturerevoke_envelope appends to a low-latency revocation list
checked on every verify_envelope callRailStatusCurrencyairwallexLIVE sandboxMulti-currency (real test transfers)wiseLIVE sandbox40+ fiat currencies (real test transfers)stripemock-readyUSD + 135 othersusdc-basemock-readyUSDCx402mock-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.
ParameterValueStandardNIST FIPS 204Security levelNIST Level 3Public key size1,952 bytesSecret key size4,032 bytesSignature size3,309 bytesHardness assumptionModule-LWE + Module-SIS
Apache-2.0 — Security disclosures: security@pqsafe.xyz