@lssm/lib.crypto-payments-spec
v2.0.1
Published
Provider-neutral crypto wallet governance and HTTP-native agent payment protocol contracts.
Readme
@lssm/lib.crypto-payments-spec
Provider-neutral contracts for crypto wallet governance and HTTP-native agent/API payment protocol evidence.
This package closes the first canonical ContractSpec slice for wallet-governed agent payments. It defines reviewable contracts for wallet policies, HTTP payment challenges, agent payment authorizations, settlement evidence refs, failure/idempotency semantics, and CompanyOS/finance-ops/assurance approval composition. It does not sign, custody, broadcast, settle, or call provider SDKs.
Scope
Use this package to model:
- wallet refs, custody modes, signer-policy refs, chain/network refs, asset refs, spend limits, allowlists, revocation, and rotation;
- HTTP
402 Payment Requiredand x402-style payment challenge metadata; - agent payment authorizations that require CompanyOS authority, finance-ops spend policy/approval, and assurance evidence;
- settlement, failure, refund, dispute, replay, and audit evidence refs;
- x420 as an opaque placeholder/variant reference only until primary-source semantics are reviewed.
Boundary
BillingOS owns quote-to-cash artifacts such as quotes, orders, invoices, payments, refunds, write-offs, and reconciliation. Crypto payments may reference those artifacts but must not redefine or execute them. Provider-payment integrations own concrete SDK/runtime execution and must depend on this contract surface rather than inventing their own policy envelope.
This package never stores private keys, seed phrases, API keys, bearer tokens, webhook secrets, provider secrets, raw signatures, or executable transfer instructions.
Public entrypoints
@lssm/lib.crypto-payments-spec— root barrel@lssm/lib.crypto-payments-spec/types— contract schemas and types@lssm/lib.crypto-payments-spec/validation— semantic validation helpers@lssm/lib.crypto-payments-spec/fixtures— safe synthetic fixtures
Commands
bun run testbun run typecheckbun run lint:checkbun run build
