Wallet auth
Autenticati con un payload Sign-In-With-X firmato nell’header
X-Sign-In-With-X.Paga con USDC
Mantieni il saldo spendibile con USDC su Base o Solana.
DIEM prima
Se il wallet è collegato a un account Venice con saldo DIEM, viene speso per primo.
Cos’è X402?
X402 è uno standard di pagamento aperto che consente ad applicazioni e agenti di pagare i servizi in modo programmatico usando criptovalute. Venice implementa X402 in modo che i wallet possano autenticarsi e pagare l’inferenza direttamente con USDC su Base o Solana.Prerequisiti
- Un wallet su Base o Solana
- Token nativo per il gas sulla chain selezionata, come ETH su Base o SOL su Solana
- USDC sulla chain selezionata (o saldo DIEM esistente da un account Venice collegato)
Avvio rapido
L’SDKvenice-x402-client fornisce helper per autenticazione wallet, ricariche e tracking del saldo.
X-Sign-In-With-X per ogni richiesta e traccia automaticamente il saldo dagli header di risposta X-Balance-Remaining.
Con strumenti compatibili con OpenAI
Se stai usando uno strumento che accetta unfetch personalizzato, usa createAuthFetch per aggiungere l’autenticazione wallet a qualsiasi richiesta:
Helper disponibili
L’SDK include helper di prima classe per le route Venice x402 più comuni. Per tutto ciò che non è coperto, usarequest() o createAuthFetch() direttamente.
Flusso manuale
Se non stai usando l’SDK o hai bisogno di capire il protocollo sottostante, ecco il flusso passo dopo passo. Per un nuovo wallet, assumi di dover prima ricaricare a meno che non abbia già saldo DIEM spendibile.Step 1: crea l’header X-Sign-In-With-X
Venice si aspetta un payload JSON codificato in Base64 contenente un messaggio Sign-In-With-X firmato. I wallet EVM firmano un messaggio SIWE EIP-4361 su Base. I wallet Solana firmano il messaggio Solana SIWX con Ed25519. Genera un nuovo nonce e timestamp per ogni flusso di richiesta. Per Solana, impostachainId su solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, includi type: "ed25519" nel payload JSON codificato e fornisci la firma Ed25519 come base58 o base64. Il messaggio firmato inizia con <domain> wants you to sign in with your Solana account:, seguito dall’indirizzo del wallet e dai campi standard URI, Version, Chain ID, Nonce, Issued At e dal campo opzionale Expiration Time.
Step 2: controlla il saldo
Prima di fare una richiesta a pagamento, verifica che il wallet abbia saldo spendibile:canConsume: se il wallet può fare richieste a pagamentobalanceUsd: saldo spendibile correnteminimumTopUpUsdesuggestedTopUpUsd: linee guida per le ricarichediemBalanceUsd: saldo basato su DIEM, se presente
walletAddress accetta sia un indirizzo EVM (0x...) sia un indirizzo Solana base58.
Step 3: ricarica
Ricarica con USDC su Base o Solana:402 Payment Required con un header PAYMENT-REQUIRED contenente un array accepts. Ogni voce descrive un’opzione di pagamento accettata, inclusi network, asset, payTo e amount. Scegli l’opzione Base o Solana con cui vuoi pagare, usa questi dettagli esatti per costruire un header X-402-Payment e riprova la stessa route.
Costruire l’header X-402-Payment per Base
Lo script seguente crea un pagamento x402 firmato su Base e invia la richiesta di ricarica. Richiede i pacchetti npmx402 e viem.
Usa l’ultima risposta
PAYMENT-REQUIRED / accepts come fonte di verità in produzione invece di hardcodare questi valori. Per le ricariche Solana, costruisci il pagamento dalla voce Solana restituita in accepts. Le voci Solana usano network: "solana", il mint USDC come asset e possono includere metadati specifici della rete come extra.feePayer.Step 4: fai una richiesta
Una volta che il wallet ha saldo spendibile, chiama qualsiasi endpoint supportato con l’headerX-Sign-In-With-X:
X-Balance-Remaining.
Step 5: ispeziona le transazioni (opzionale)
Esamina lo storico delle transazioni del wallet:TOP_UP, CHARGE e REFUND.
Il parametro di path walletAddress accetta sia un indirizzo EVM (0x...) sia un indirizzo Solana base58.
Route supportate
Route di inferenza a pagamento
Le seguenti route pubbliche a pagamento di Venice supportano attualmente l’autenticazione tramite wallet x402.Route di ricarica
Route solo wallet
Queste route usanoX-Sign-In-With-X per l’identità ma non addebitano il saldo.
Errori
Per gli agenti
Il flusso è lo stesso. Memorizza le chiavi private in variabili d’ambiente o in un secret manager e controlla il saldo prima delle richieste per evitare round-trip402 non necessari.
Risorse correlate
x402 Client SDK
Client x402 ufficiale Venice per Node.js/TypeScript.
Prezzi dell'API
Controlla i prezzi dei modelli e come Venice fattura l’utilizzo.
Chat Completions
Una route a pagamento comune per l’accesso basato su wallet.
Specifica dell'API
Documentazione di riferimento e accesso alla spec raw.