@rvk_rishikesh/aptos
v2.1.0
Published
x402 Payment Protocol Aptos Implementation
Maintainers
Readme
@rvk_rishikesh/aptos
Aptos implementation of the x402 payment protocol.
Installation
npm install @rvk_rishikesh/aptos
# or
pnpm add @rvk_rishikesh/aptosUsage
Client
import { Account, Ed25519PrivateKey } from "@aptos-labs/ts-sdk";
import { ExactAptosClient } from "@rvk_rishikesh/aptos/exact/client";
// Create signer from private key
const privateKey = new Ed25519PrivateKey("0x...");
const account = Account.fromPrivateKey({ privateKey });
// Create client
const client = new ExactAptosClient(account);
// Create payment payload
const payload = await client.createPaymentPayload(2, paymentRequirements);Facilitator
import { Account, Ed25519PrivateKey } from "@aptos-labs/ts-sdk";
import { ExactAptosFacilitator, toFacilitatorAptosSigner } from "@rvk_rishikesh/aptos";
// Create facilitator signer
const privateKey = new Ed25519PrivateKey("0x...");
const account = Account.fromPrivateKey({ privateKey });
const signer = toFacilitatorAptosSigner(account);
// Create facilitator
const facilitator = new ExactAptosFacilitator(signer);
// Verify and settle payments
const verifyResult = await facilitator.verify(payload, requirements);
const settleResult = await facilitator.settle(payload, requirements);Server
import { ExactAptosServer } from "@rvk_rishikesh/aptos/exact/server";
// Create server with payment address
const server = new ExactAptosServer("0x...", true); // sponsored = true
// Create payment requirements
const requirements = server.createPaymentRequirements(
"100000000", // 1 APT in octas
"0x1::aptos_coin::AptosCoin",
"aptos:1", // mainnet
);Features
- Sponsored Transactions: Facilitators can pay gas fees on behalf of clients
- Fungible Asset Transfers: Uses Aptos's native
primary_fungible_store::transfer - Network Support: Mainnet (
aptos:1) and Testnet (aptos:2)
License
Apache-2.0
