Skip to content

TypeScript SDKs

Pick the payer, receiver, or merchant package without crossing trust boundaries.

The SDKs are separated by role so wallet signing, receiver operations, and merchant backend credentials do not drift into the same client.

PackageRuntimeKey boundary
x402-paysdk/payBrowser, app, wallet hostUses a host-provided signer; never receives private keys.
x402-paysdk/receiveReceiver app or trusted toolCreates and manages refs; does not sign payer payments.
x402-paysdk/merchantMerchant backendHolds merchant API/notify credentials; must not run in an untrusted browser.
Internal protocol coreBundled, not imported directlyProtocol parsing, encoding, validation, offers, signatures, and bounded HTTP helpers.

Start with only the package that matches the current trust domain. A checkout frontend normally uses pay-sdk; its backend uses merchant-sdk.