solvela
Escrow-settled payments for agentsonly x402 gateway with trustless escrow

Trustlessescrow foragent payments.

Your agent pays per call in USDC. The gateway only claims what the provider actually delivered — the rest refunds on-chain, in the same transaction.

start buildingread docs
models0+
platform fee0%
402 handshake · mainnetlive
agent
gateway · solvela.ai
escrowpda · 9neDHouXgEgHZDde5Sp…
pending

live 402 handshake · agent ⇄ gateway ⇄ escrow

ESCROW · 9neDHouXgEgHZDde5Sp25+ models · 5 providers5% flat feemainnet · x402 · usdc-spla2a · agent-card · /.well-known
the diamond

Pay only for
what gets
delivered.

  1. 0.0042deposit → escrow
  2. streamprovider → agent
  3. 0.0038claim → providersame tx
  4. 0.0004refund → agent
  5. deliveredescrow settled
mainnet · anchorusdc-splopen-source flows

No other x402 LLM gateway has trustless on-chain escrow.

Escrow payment flowThe agent deposits 0.0042 USDC into an on-chain escrow. The provider streams a response. In the same transaction, the escrow claims the delivered 0.0038 to the provider and refunds the unused 0.0004 to the agent.agent walletescrow pda9neDHouX…providerBALANCE12.4000HELD0.0000CREDITED0.0000
providers

One endpoint. Five providers. Twenty-five+ models.

unified usdc pricing · model="auto"
OpenAI
live
Anthropic
live
Google
live
xAI
live
DeepSeek
live
your first 402

A wallet is your API key.
Sign, send, receive. That's it.

works withvercel ai sdk· alphalangchain· soonopenai-compatmcpa2a / agent-card
solvela · quickstart
npm install @solvela/sdk
import {
  SolvelaClient,
  ChatRequest,
  ChatMessage,
  Wallet,
  KeypairSigner,
} from '@solvela/sdk'

const wallet = Wallet.fromEnv('SOLANA_PRIVATE_KEY')
const signer = new KeypairSigner(wallet)
const client = new SolvelaClient({ wallet, signer })

const response = await client.chat(
  new ChatRequest('auto', [new ChatMessage('user', 'hi')]),
)
console.log(response.choices[0].message.content)
or, raw:
curl https://api.solvela.ai/v1/chat/completions 
open quickstart