Buyer/Client Guide

Send payments to sellers.

Install

npm install @naven-os/x402-fetch viem dotenv

Code

import { config } from "dotenv";
import { Hex } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { decodeXPaymentResponse, wrapFetchWithPayment } from "@naven-os/x402-fetch";

config();

const privateKey = process.env.PRIVATE_KEY as Hex;
const url = 'https://ping-api.naven.network/xlayer/btc-price'
// const url = 'https://ping-api.naven.network/kite-testnet/btc-price'

const account = privateKeyToAccount(privateKey);
const fetchWithPayment = wrapFetchWithPayment(fetch, account);

fetchWithPayment(url, { method: "GET" })
    .then(async response => {
        const body = await response.json();
        const paymentResponse = decodeXPaymentResponse(response.headers.get("x-payment-response")!);
    })
    .catch(error => {
        console.error(error.response?.data?.error);
    });

Last updated