solvela
agent-to-agent commercesolana-native x402 gateway

Agents discover, negotiate, and pay — end to end, no humans.

End to end, no humans in the loop. Your agent finds a model, gets a 402 quote, signs a USDC payment, and settles on-chain — and the gateway only claims what the provider actually delivered.

start buildingread docs
the only x402 gateway with trustless on-chain escrowmainnet program 9neDHouXgEgHZDde5Sp
402 handshake · mainnetlive
agent
gateway · solvela.ai
escrowpda · 9neDHouXgEgHZDde5Sp…
pending

live 402 handshake · agent ⇄ gateway ⇄ escrow

deposit 0.0042 usdc → escrow 9neDHouXclaim 0.0038 → provider · refund 0.0004 → agent · same tx402 quote · model auto · fee 0.0002 (5%)agent-card fetched · /.well-known/agent-card.jsoncache hit · exact match · upstream skippedrouter → tier complex · 15-dim · 0 external callsdeposit 0.0117 usdc → escrow · nonce 4c1dsettled · usdc-spl · mainnetfree-tier call · zero-cost model · rate-limiteda2a negotiate → settle · no human in loop
agent-to-agent

No signup form. An AgentCard.

Solvela speaks the A2A protocol. An agent fetches /.well-known/agent-card.json, sends a message/send, gets back a task that says exactly what it costs, signs a USDC payment, and collects its artifacts — discovery to settlement over one JSON-RPC surface, no human in the loop.

a2a docs →
One transaction, start to finish

The whole payment, watched live.

scroll the column · five beats · escrow pda 9neDHouXgEgHZDde5Sp

01

discover

GET /.well-known/agent-card.json

The agent reads Solvela’s A2A AgentCard — capabilities, models, and the x402 payment terms it will be quoted against. No human, no dashboard.

02

get quoted

402 payment required

It posts a request with no signature. The gateway answers 402 with a per-token USDC cost and a flat 5% platform fee — the exact amount, before a cent moves.

03

sign + deposit

PAYMENT-SIGNATURE: ey…8fQ

The agent signs a USDC-SPL transaction that deposits the full quote into a trustless on-chain escrow. A wallet is the only credential — no accounts, no API keys.

04

settle

200 OK · escrow claim

The provider streams the response. In the same transaction, the escrow claims only what was delivered to the provider — never more than the work performed.

05

refund

refund → agent

Whatever the provider did not earn refunds to the agent on-chain, atomically with the claim. Pay only for what gets delivered — verifiably, not on trust.

escrow flow · usdc-splbeat 01
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 pdaproviderBALANCE12.4000CREDITED0.00009neDHouX…HELD0.0000

deposit · stream · claim + refund · same tx

25
paid modelsfive providers

One endpoint. One USDC price book. Five frontier labs.

call model="auto" and the router places the request — or name a model directly. unified per-token pricing in usdc. plus a free nvidia nim tier — 15 zero-cost nemotron models.

  • 01OpenAI
    live
  • 02Anthropic
    live
  • 03Google
    live
  • 04xAI
    live
  • 05DeepSeek
    live
Under the hood

One gateway. Two ways to settle.

CLIENTSSDKstspythongorustmcpA2A agents.well-known/agent-card.jsonSOLVELA GATEWAY · AXUMx402 verifypayment middleware15-dim routereco · auto · premiumexact cachewallet-agnosticprompt guardinjection · piirediscache · replay · rateoptionalpostgresspend · orgs · auditoptionalPROVIDERSopenaianthropicgooglexaideepseekSOLANA MAINNET · USDC-SPLexactdeferred transferescrowdeposit → claim + refundescrow programPDAfee-payer poolsponsors tx

Exact payments verify up front and settle after delivery; escrow deposits land on-chain first, then claim and refund settle in one transaction. Redis and Postgres are optional — the gateway degrades gracefully without either. architecture docs →

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