From 17f6951e201cd706ff93457ff111cf864c8394d8 Mon Sep 17 00:00:00 2001 From: AlejandroFabianCampos Date: Thu, 30 Apr 2026 11:15:12 -0300 Subject: [PATCH 1/2] chore: release v0.2.0 --- package-lock.json | 4 ++-- package.json | 2 +- src/internal/version.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index e299ae6..158c3ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@quicknode/mpp", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@quicknode/mpp", - "version": "0.1.0", + "version": "0.2.0", "license": "MIT", "dependencies": { "viem": "^2.0.0" diff --git a/package.json b/package.json index 2c39662..64f1e41 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@quicknode/mpp", - "version": "0.1.0", + "version": "0.2.0", "description": "QuickNode payment methods for MPP (Machine Payments Protocol)", "license": "MIT", "type": "module", diff --git a/src/internal/version.ts b/src/internal/version.ts index 4c003a5..4671840 100644 --- a/src/internal/version.ts +++ b/src/internal/version.ts @@ -1,2 +1,2 @@ // Generated by genversion. -export const version = '0.1.0' +export const version = '0.2.0' From ad5890721839277cfd43b7d18277b90604cb4219 Mon Sep 17 00:00:00 2001 From: AlejandroFabianCampos Date: Thu, 30 Apr 2026 11:54:36 -0300 Subject: [PATCH 2/2] docs: beta callout, contents TOC, compatibility, versioning, contributing, security; pin spec link to commit SHA --- README.md | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 461df8b..d5b206f 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,11 @@ # @quicknode/mpp -First-party MPP payment method for EVM-settled payments, verified via QuickNode RPC. +> [!WARNING] +> **Beta.** Public API may change between minor versions until v1. Pin to an exact version in production. -Implements IETF [`draft-evm-charge-00`](https://github.com/tempoxyz/mpp-specs/blob/main/specs/methods/evm/draft-evm-charge-00.md) +First-party MPP payment method for EVM-settled payments, verified via QuickNode RPC. Gate any HTTP endpoint behind a stablecoin (or native-coin) payment — agents pay with one signature, the server verifies on-chain, and the request is forwarded. Built for the [Machine Payments Protocol](https://github.com/tempoxyz/mpp-specs). + +Implements IETF [`draft-evm-charge-00`](https://github.com/tempoxyz/mpp-specs/blob/2f6bfcee6f9e448d2ded15dc350dc92967e17513/specs/methods/evm/draft-evm-charge-00.md) with all three non-trivial credential types: | Type | Binding | Gas | UX | @@ -11,12 +14,34 @@ with all three non-trivial credential types: | `authorization` | Strong (on-chain nonce) | Server pays | One signature, USDC / EIP-3009 tokens | | `hash` | Weakest (post-hoc receipt match) | Client pays | Client broadcasts + waits | +## Contents + +- [Install](#install) +- [Compatibility](#compatibility) +- [Server — accept payments](#server--accept-payments) +- [Client — pay for content](#client--pay-for-content) +- [Rate limits](#rate-limits) +- [Configuration](#configuration) +- [Live testing on Base Sepolia](#live-testing-on-base-sepolia) +- [Versioning](#versioning) +- [Changelog](#changelog) +- [Contributing](#contributing) +- [Security](#security) +- [License](#license) + ## Install ```bash npm install @quicknode/mpp mppx viem ``` +## Compatibility + +- **Node.js** ≥ 22 +- **Cloudflare Workers**, **Bun**, and other WebCrypto-capable runtimes +- **Browsers** — the client (`@quicknode/mpp/client`) runs in-browser for agent UIs. The server modules import Node-only code and are not browser-bundleable +- **TypeScript** — types ship in the package; no separate `@types/*` install needed + ## Server — accept payments ```ts @@ -192,7 +217,7 @@ Contract-mediated native transfers aren't accepted by the verifier. > **Spec note**: native settlement (zero-address `currency`) is a > non-normative extension to -> [`draft-evm-charge-00`](https://github.com/tempoxyz/mpp-specs/blob/main/specs/methods/evm/draft-evm-charge-00.md), +> [`draft-evm-charge-00`](https://github.com/tempoxyz/mpp-specs/blob/2f6bfcee6f9e448d2ded15dc350dc92967e17513/specs/methods/evm/draft-evm-charge-00.md), > which scopes itself to ERC-20 transfers. Custom ERC-20 addresses are > spec-compliant — the spec defines `currency` as a 20-byte hex string. @@ -222,6 +247,29 @@ MPP_INTEGRATION=1 npm test -- --test-name-pattern "public rpc" Runs one `getChainId` call per supported chain. Requires real `PUBLIC_RPC_PREFIX`/`PUBLIC_RPC_TOKEN` values in `src/constants.ts`. +## Versioning + +This package follows [SemVer](https://semver.org/) with a beta caveat: + +- **Until 1.0**, minor versions may include breaking changes when [`draft-evm-charge-00`](https://github.com/tempoxyz/mpp-specs/blob/2f6bfcee6f9e448d2ded15dc350dc92967e17513/specs/methods/evm/draft-evm-charge-00.md) evolves or the public API needs to change. Pin an exact version in production. +- **Public API** = everything exported from `@quicknode/mpp`, `@quicknode/mpp/server`, `@quicknode/mpp/client`, their submodules, and `@quicknode/mpp/constants`. Anything under `internal/` is private and may change without notice. + +## Changelog + +See [GitHub Releases](https://github.com/quiknode-labs/mpp/releases) for per-version changes. + +## Contributing + +Issues and PRs welcome at [quiknode-labs/mpp](https://github.com/quiknode-labs/mpp). Before opening a PR: + +```bash +npm run verify # lint + typecheck + tests + build +``` + +## Security + +Found a vulnerability? Please email security@quicknode.com instead of opening a public issue. + ## License MIT