Vai al contenuto principale
X402 ti permette di usare le route API a pagamento di Venice autenticandoti con un wallet e mantenendo un saldo USDC prepagato. Non sono richiesti API key o account. Firma un messaggio, ricarica su Base o Solana e chiama qualsiasi route supportata.

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)
Considera l’uso di un wallet dedicato per l’automazione invece del tuo wallet di tesoreria principale.

Avvio rapido

L’SDK venice-x402-client fornisce helper per autenticazione wallet, ricariche e tracking del saldo.
Il client genera un nuovo header 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 un fetch 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, usa request() 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, imposta chainId 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:
La risposta include:
  • canConsume: se il wallet può fare richieste a pagamento
  • balanceUsd: saldo spendibile corrente
  • minimumTopUpUsd e suggestedTopUpUsd: linee guida per le ricariche
  • diemBalanceUsd: saldo basato su DIEM, se presente
Il parametro di path walletAddress accetta sia un indirizzo EVM (0x...) sia un indirizzo Solana base58.

Step 3: ricarica

Ricarica con USDC su Base o Solana:
La prima chiamata restituisce 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 npm x402 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’header X-Sign-In-With-X:
Le risposte di successo possono includere un header X-Balance-Remaining.

Step 5: ispeziona le transazioni (opzionale)

Esamina lo storico delle transazioni del wallet:
Il registro include voci come 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 usano X-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-trip 402 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.