x402 Stellar Client
Client SDK for signing payments (Keypair + Freighter).
Installation
npm install x402-stellar-client @stellar/stellar-sdkFor Freighter support in browsers:
npm install @stellar/freighter-apiUsage
With Keypair (Backends/Scripts)
import { createPaymentHeader, createKeypairSigner } from "x402-stellar-client";
import { Keypair } from "@stellar/stellar-sdk";
const keypair = Keypair.fromSecret("SXXX...");
const signer = createKeypairSigner(keypair);
const xPayment = await createPaymentHeader({
signer,
paymentRequirements: {
scheme: "exact",
network: "stellar-testnet",
maxAmountRequired: "10000000", // 1 XLM in stroops
payTo: "GXXXX...",
asset: "native",
resource: "https://api.example.com/premium",
description: "Premium API access",
mimeType: "application/json",
maxTimeoutSeconds: 300,
},
});
// Use in request
const response = await fetch("https://api.example.com/premium", {
headers: {
"X-PAYMENT": xPayment,
},
});With Freighter (Browsers)
import { createPaymentHeader, createFreighterSigner } from "x402-stellar-client";
const signer = createFreighterSigner();
const xPayment = await createPaymentHeader({
signer,
paymentRequirements: requirements,
});
// Freighter will prompt the user to approve the transaction