Explicit Client
When to Use
Basic Usage
import { X402Client } from '@shade402/client';
import { Keypair } from '@solana/web3.js';
const wallet = Keypair.generate();
const client = new X402Client(wallet, process.env.SOLANA_RPC_URL);
try {
// Make initial request
let response = await client.get('https://api.example.com/data');
// Check if payment required
if (client.paymentRequired(response)) {
// Parse payment request
const paymentRequest = client.parsePaymentRequest(response);
// Create payment
const authorization = await client.createPayment(paymentRequest);
// Retry with payment
response = await client.get('https://api.example.com/data', {
payment: authorization,
});
}
// Process response
console.log(response.data);
} finally {
await client.close();
}HTTP Methods
Payment Flow
Step 1: Initial Request
Step 2: Check Payment Required
Step 3: Parse Payment Request
Step 4: Validate Payment Request
Step 5: Create Payment
Step 6: Encrypt Resource (Optional)
Step 7: Retry Request
Resource Encryption
Custom Payment Amount
Error Handling
URL Validation
Complete Example
Best Practices
Next Steps
Last updated
