X402 Transactions
Get paginated x402 transaction history for a wallet address. Requires Sign-in-with-x authentication for the same EVM or Solana wallet.
Authorizations
Wallet-based authentication using the x402 protocol (Sign-In-With-X). Supports EVM SIWE signatures on Base and Ed25519 signatures on Solana mainnet.
Header format: Base64-encoded JSON object with the following fields:
address— EVM or Solana wallet addressmessage— Signed SIWX message. EVM wallets use EIP-4361 SIWE; Solana wallets use the Solana SIWX message format.signature— Signature of the message, signed by the wallet's private key. EVM signatures are hex; Solana signatures may be base58 or base64.timestamp— Unix timestamp in millisecondschainId— Chain identity. Use8453,"8453", or"eip155:8453"for Base; use"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"for Solana.type— Optional signature type. Use"ed25519"for Solana. Omitted means EVM/EIP-191 for backward compatibility.
EVM SIWE message fields:
domain:outerface.venice.aiuri:https://outerface.venice.aiversion:"1"chainId:8453nonce: Random 16-character hex stringissuedAt/expirationTime: ISO timestamps (recommended TTL: 10 minutes)statement:"Sign in to Venice API"
Example (TypeScript):
import { Wallet } from 'ethers'
import { SiweMessage } from 'siwe'
const wallet = new Wallet(PRIVATE_KEY)
const msg = new SiweMessage({ domain: 'outerface.venice.ai', address: wallet.address, statement: 'Sign in to Venice API', uri: 'https://outerface.venice.ai', version: '1', chainId: 8453, nonce: crypto.randomUUID().replace(/-/g, '').slice(0, 16), issuedAt: new Date().toISOString(), expirationTime: new Date(Date.now() + 600000).toISOString() })
const signature = await wallet.signMessage(msg.prepareMessage())
const header = btoa(JSON.stringify({ address: wallet.address, message: msg.prepareMessage(), signature, timestamp: Date.now(), chainId: 8453 }))
// Set header: X-Sign-In-With-X: <header>Solana message fields: The signed message starts with <domain> wants you to sign in with your Solana account:, followed by the wallet address and the standard URI, Version, Chain ID, Nonce, Issued At, and optional Expiration Time fields. Use type: "ed25519" and chainId: "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" in the encoded JSON payload.
SDK: npm install @venice-ai/x402-client provides VeniceClient and createAuthFetch which handle this automatically.
Billing: x402 users pay from a prepaid USDC credit balance. Top up via POST /x402/top-up. When balance is insufficient, endpoints return 402 with structured top-up instructions.
Headers
base64-encoded JSON SIWX payload proving EVM or Solana wallet ownership
"siwx_example_token"
Path Parameters
EVM or Solana wallet address.
^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$"0xYOUR_WALLET_ADDRESS"
Query Parameters
Maximum number of transactions to return.
1 <= x <= 10050
Number of transactions to skip before returning results.
x >= 00