Public npm package providing a multi-chain payment client for Quicknode's x402 RPC proxy. Supports three payment models: pay-per-request ($0.001/request, no auth, no SIWX), credit-drawdown (SIWX auth + bulk credits, default), and nanopayment ($0.0001/request via Circle Gateway, EVM-only).
npm run build # tsup → ESM + CJS in dist/
npm run test # vitest
npm run typecheck # tsc --noEmitcreateQuicknodeX402Client(config)— Async factory, returnsQuicknodeX402ClientSessionManager— JWT lifecycle (cache, expiry check with 30s buffer)preAuthenticate(baseUrl, network, signer)— Manual SIWX authcreateSIWxClientHook(signer)— x402HTTPClient hook for SIWXcreateEvmSigners(privateKey)/createSvmSigners(privateKey)— Signer factoriescreateGrpcTransport(fetch, options)— Connect-RPC gRPC-Web transport
- Public repo, MIT license — no staging URLs, no internal references
- Naming: "Quicknode" (not "QuickNode")
- URLs: Always
x402.quicknode.com
src/client.ts— Main factory: validates config, creates signers, wires x402 pipelinesrc/auth.ts— SIWX message construction and/authPOSTsrc/session.ts— JWT extraction from headers, expiry managementsrc/fetch.ts— Wraps fetch with Bearer auth, SIWX hook, session extraction, payment mutex. Sessionless modes (per-request, nanopayment) skip SIWX hooks viaskipHooks.src/gateway.ts— Circle Gateway helpers and re-exports for nanopayment support (CAIP-2 chain mapping, GatewayClient, batch detection)src/signers.ts— EVM (viem) and SVM (@solana/signers) signer creationsrc/grpc.ts— gRPC-Web transport via @connectrpc/connect-websrc/websocket.ts— Authenticated WebSocket with JWT query paramsrc/extensions.ts— Composable standalone helperssrc/types.ts— All type definitions and re-exports