API Overview
Base URL, authentication, and conventions for the Solvador facilitator API.
Base URL
https://api.solvador.comSolvador implements the standard x402 v2 facilitator interface — any x402 SDK’s HTTPFacilitatorClient works against it unchanged. You can also call the endpoints directly; every request and response body is JSON.
Endpoints
| Method | Path | Auth |
|---|---|---|
POST | /verify | None |
POST | /settle | X-API-Key |
GET | /supported | None |
GET | /discovery/resources | None |
GET | /discovery/search | None |
Authentication
Only /settle requires authentication: pass your API key in the X-API-Key header. Keys are created in the dashboard. A missing or invalid key returns 401 with a JSON body:
{ "error": "invalid API key" }Errors
Transport-level errors use a JSON envelope of the form { "error": ... } with these status codes:
| Status | Meaning |
|---|---|
400 | Malformed request — e.g. an invalid payment-identifier |
401 | Missing or invalid API key (/settle only) |
402 | Plan quota exhausted, or pay-as-you-go account suspended — see Plans & Quotas |
409 | payment-identifier conflict: same id, different payment |
500 | Internal error; the body’s error field carries the message |
Note the x402-level distinction: a payment that fails verification is still HTTP 200 — the body carries isValid: false with an invalidReason. Likewise a failed settlement is HTTP 200 with success: false and an errorReason. HTTP error codes are reserved for problems with the request itself, not with the payment.
Versioning
Request and response bodies follow x402 v2: every verify/settle request carries "x402Version": 2 alongside the payment payload and requirements.