Install
openclaw skills install pqsafe-pay-v1ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Post-quantum signed SpendEnvelopes for AI agent payments. ML-DSA-65 (NIST FIPS 204) signatures over Airwallex, Wise, Stripe, USDC-Base, and x402 rails.
openclaw skills install pqsafe-pay-v1pqsafe.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.
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.
| 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) |
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 call| 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.
| 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 |
Apache-2.0 — Security disclosures: security@pqsafe.xyz