@nerochain/x402-extensions
v1.0.0-rc.1
Published
Optional protocol extensions for x402 V2: payment-identifier (client idempotency) and access-token (signed proof-of-payment for cached access). Composable with the @nerochain/x402-server middleware and @nerochain/x402-client signers.
Maintainers
Readme
@nerochain/x402-extensions
Extensões de protocolo opcionais para x402 V2. Compostáveis com o middleware @nerochain/x402-server e os signers @nerochain/x402-client.
Instalação
pnpm add @nerochain/x402-extensionsO que está aqui
payment-identifier — idempotência no lado cliente
Anexa um identificador estável a um PaymentPayload para que o merchant possa deduplicar tentativas antes que cheguem ao bundler.
import { withPaymentIdentifier, generatePaymentIdentifier } from "@nerochain/x402-extensions";
const id = generatePaymentIdentifier();
const payload = withPaymentIdentifier(originalPayload, id);access-token — prova de pagamento assinada para acesso em cache
Após uma liquidação bem-sucedida, emita um token de acesso assinado por HMAC. Requisições subsequentes dentro do TTL apresentam o token em vez de pagar de novo.
import { issueAccessToken, verifyAccessToken } from "@nerochain/x402-extensions";
// Servidor: após a liquidação
const token = issueAccessToken({
receipt: { payer, payTo, transactionHash },
secret: process.env.ACCESS_TOKEN_SECRET!,
ttlSeconds: 3600,
scope: ["GET /api/article", "POST /api/article"],
});
// Servidor: numa requisição com o token
const result = verifyAccessToken(token, process.env.ACCESS_TOKEN_SECRET!);
if (result.valid) { /* serve do cache */ }Documentação
Referência completa: https://x402.nerochain.io/docs/sdk/x402-extensions.
Licença
MIT.
