Pay-per-request travel API for flight search, award seat availability, hotels, activities, transfers and flight tracking, built on Amadeus, Seats.aero, SerpAPI and FlightAware. No account or API key required.
Pay from $0.0054 to $0.05 per request in USDC on Base / Solana, settled onchain via the x402 protocol, no signup, no API key needed.
ASSESSMENT
updated 45m agoEvidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.
reliability 100%
- uptime 24h
- 100%
- uptime 7d
- 100%
- uptime 30d
- 100%
- uptime 90d
- 100%
- response p95
- 248ms
- avg response
- 160ms
- total checks
- 70
compliance A (11/11)
11 of 11 x402 conformance checks pass. Full checklist below.
price $0.0054 to $0.05 (p49 in Data)
- price (min)
- $0.0054
- price (max)
- $0.05
- category percentile (min)
- p49 in Data
- category percentile (max)
- p75 in Data
- endpoints / prices
- 10 / 5
- model
- tiered
- stability
- 100%
risk clean
No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.
traction $2.57 30d · 11 buyers
- volume 30d
- $2.57
- buyers 30d
- 11
- settlements 30d
- 136
- last settlement
- 2026-07-21
- top buyer share
- 73% of 30d volume
- trend 7d vs 30d
- 4.29x the 30d daily rate
- networks
- eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d
Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.
Top buyer share is a concentration signal, not part of the ranking score.
WHAT IT DOES
ai-derivedProvides travel-related API services including flight search, hotel booking, and flight tracking.
- category
- travel-api
- in
- query params
- auth
- none
AI-generated summary. The measured data is never altered by it.
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET |
|---|---|---|---|---|---|
| GET | /api/flightaware/flights/UAL123 | $0.01 | Base/Solana | USDC | |
| GET | /api/flights/search | $0.05 | Base/Solana | USDC | |
| GET | /api/google-flights/booking | $0.02 | Base/Solana | USDC | |
| GET | /api/google-flights/search | $0.02 | Base/Solana | USDC | |
| GET | /api/hotels/autocomplete | $0.0054 | Base/Solana | USDC | |
| GET | /api/hotels/list | $0.03 | Base/Solana | USDC | |
| GET | /api/hotels/list/by-geocode | $0.03 | Base/Solana | USDC | |
| GET | /api/hotels/search | $0.03 | Base/Solana | USDC | |
| GET | /api/reference/locations | $0.0054 | Base/Solana | USDC | |
| GET | /api/seats-aero/search | $0.02 | Base/Solana | USDC |
REQUEST / RESPONSE EXAMPLE
An unpaid request to GET /api/flightaware/flights/UAL123 returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
curl -i 'https://stabletravel.dev/api/flightaware/flights/UAL123'
// 402 response (captured by monitor) · 10 payloads · click to expand
[
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "10000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/flightaware/flights/UAL123",
"tags": [
"Flightaware"
],
"method": "GET",
"mimeType": "application/json",
"description": "Get flight information by ident (designator, registration, or fa_flight_id)",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"max_pages": 1,
"ident_type": "designator"
}
},
"output": {
"type": "json",
"example": {
"flights": [
{
"type": "Airline",
"ident": "AAL100",
"origin": {
"city": "New York",
"code": "KJFK",
"name": "John F. Kennedy International",
"code_iata": "JFK",
"code_icao": "KJFK"
},
"status": "Scheduled",
"operator": "AAL",
"ident_iata": "AA100",
"ident_icao": "AAL100",
"destination": {
"city": "Los Angeles",
"code": "KLAX",
"name": "Los Angeles International",
"code_iata": "LAX",
"code_icao": "KLAX"
},
"fa_flight_id": "AAL100-1733068800-airline-0001",
"scheduled_in": "2026-12-01T19:00:00Z",
"aircraft_type": "B738",
"flight_number": "100",
"operator_iata": "AA",
"operator_icao": "AAL",
"scheduled_out": "2026-12-01T13:00:00Z"
}
],
"num_pages": 1
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end": {
"type": "string",
"description": "End date/time (ISO 8601)"
},
"start": {
"type": "string",
"description": "Start date/time (ISO 8601)"
},
"cursor": {
"type": "string",
"description": "Opaque cursor for pagination"
},
"max_pages": {
"type": "number",
"description": "Maximum number of pages to fetch"
},
"ident_type": {
"enum": [
"fa_flight_id",
"designator",
"registration"
],
"type": "string",
"description": "Type of flight identifier"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"flights"
],
"properties": {
"links": {
"anyOf": [
{
"type": "object",
"properties": {
"next": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"enum": [
"Airline",
"General_Aviation",
"Cargo"
],
"type": "string"
},
{
"type": "null"
}
]
},
"ident": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"route": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"origin": {
"anyOf": [
{
"type": "object",
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_lid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_iata": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_icao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"airport_info_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"blocked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"diverted": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"operator": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"actual_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"actual_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"atc_ident": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cancelled": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"filed_ete": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"actual_off": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"actual_out": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"codeshares": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"ident_iata": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"ident_icao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"destination": {
"anyOf": [
{
"type": "object",
"properties": {
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_lid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_iata": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"code_icao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"airport_info_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"gate_origin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"fa_flight_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"registration": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scheduled_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scheduled_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"aircraft_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"arrival_delay": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"baggage_claim": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_off": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_out": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"flight_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"operator_iata": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"operator_icao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"position_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"scheduled_off": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scheduled_out": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"filed_airspeed": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"filed_altitude": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"route_distance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"codeshares_iata": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"departure_delay": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"terminal_origin": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"gate_destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"progress_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"seats_cabin_coach": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"seats_cabin_first": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"actual_arrival_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inbound_fa_flight_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"seats_cabin_business": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"terminal_destination": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"actual_departure_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_arrival_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scheduled_arrival_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimated_departure_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"scheduled_departure_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"foresight_predictions_available": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"num_pages": {
"type": "number"
}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "54000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "54000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/flights/search",
"tags": [
"Flights"
],
"method": "GET",
"mimeType": "application/json",
"description": "Search flight offers by query parameters",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"max": 10,
"adults": 1,
"returnDate": "2026-12-08",
"currencyCode": "USD",
"departureDate": "2026-12-01",
"originLocationCode": "JFK",
"destinationLocationCode": "LAX"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"id": "1",
"type": "flight-offer",
"price": {
"base": "300.00",
"total": "350.00",
"currency": "USD"
},
"source": "GDS",
"itineraries": [
{
"duration": "PT6H",
"segments": [
{
"number": "100",
"arrival": {
"at": "2026-12-01T11:00:00",
"iataCode": "LAX"
},
"aircraft": {
"code": "738"
},
"departure": {
"at": "2026-12-01T08:00:00",
"iataCode": "JFK"
},
"carrierCode": "AA"
}
]
}
]
}
],
"meta": {
"count": 1
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"originLocationCode",
"destinationLocationCode",
"departureDate",
"adults"
],
"properties": {
"max": {
"type": "number",
"description": "Maximum number of results"
},
"adults": {
"type": "number",
"maximum": 9,
"minimum": 1,
"description": "Number of adult travelers"
},
"infants": {
"type": "number",
"description": "Number of infant travelers"
},
"nonStop": {
"type": "boolean",
"description": "Filter non-stop flights only"
},
"children": {
"type": "number",
"description": "Number of child travelers"
},
"maxPrice": {
"type": "number",
"description": "Maximum price"
},
"returnDate": {
"type": "string",
"description": "Return date for round-trip (YYYY-MM-DD)"
},
"travelClass": {
"enum": [
"ECONOMY",
"PREMIUM_ECONOMY",
"BUSINESS",
"FIRST"
],
"type": "string",
"description": "Cabin class"
},
"currencyCode": {
"enum": [
"CAD",
"HKD",
"ISK",
"PHP",
"DKK",
"HUF",
"CZK",
"AUD",
"RON",
"SEK",
"IDR",
"INR",
"BRL",
"RUB",
"HRK",
"JPY",
"THB",
"EUR",
"CHF",
"SGD",
"PLN",
"BGN",
"TRY",
"CNY",
"NOK",
"NZD",
"ZAR",
"USD",
"MXN",
"ILS",
"GBP",
"KRW",
"MYR"
],
"type": "string",
"description": "Currency code (e.g. USD)"
},
"departureDate": {
"type": "string",
"description": "Departure date (YYYY-MM-DD)"
},
"originLocationCode": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "IATA origin airport code (e.g. JFK)"
},
"excludedAirlineCodes": {
"type": "string",
"description": "Comma-separated IATA airline codes to exclude"
},
"includedAirlineCodes": {
"type": "string",
"description": "Comma-separated IATA airline codes to include"
},
"destinationLocationCode": {
"type": "string",
"maxLength": 3,
"minLength": 3,
"description": "IATA destination airport code (e.g. LAX)"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
},
"meta": {},
"warnings": {
"type": "array",
"items": {}
},
"dictionaries": {}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "20000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/google-flights/booking",
"tags": [
"Google Flights"
],
"method": "GET",
"mimeType": "application/json",
"description": "Get booking options for a specific flight. Requires a departure_token from a search result.",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"hl": "en",
"type": "1",
"adults": 1,
"children": 0,
"currency": "USD",
"arrival_id": "LAX",
"return_date": "2026-12-08",
"departure_id": "JFK",
"outbound_date": "2026-12-01",
"infants_on_lap": 0,
"departure_token": "token-abc123",
"infants_in_seat": 0
}
},
"output": {
"type": "json",
"example": {
"booking_options": [
{
"url": "https://www.aa.com/booking",
"price": 350,
"book_with": "American Airlines",
"option_title": "Book with American Airlines"
}
],
"selected_flights": [
{
"price": 350,
"flights": [
{
"airline": "American",
"duration": 360,
"flight_number": "AA 100",
"arrival_airport": {
"id": "LAX",
"name": "LAX",
"time": "2026-12-01 11:00"
},
"departure_airport": {
"id": "JFK",
"name": "JFK",
"time": "2026-12-01 08:00"
}
}
],
"total_duration": 360
}
]
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"departure_id",
"arrival_id",
"outbound_date",
"type",
"adults",
"children",
"infants_in_seat",
"infants_on_lap",
"currency",
"hl",
"departure_token"
],
"properties": {
"hl": {
"type": "string",
"default": "en"
},
"type": {
"enum": [
"1",
"2",
"3"
],
"type": "string",
"default": "1",
"description": "1 = Round trip, 2 = One way, 3 = Multi-city"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1
},
"children": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"currency": {
"type": "string",
"default": "USD",
"maxLength": 3,
"minLength": 3
},
"arrival_id": {
"type": "string"
},
"return_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"departure_id": {
"type": "string"
},
"travel_class": {
"enum": [
"1",
"2",
"3",
"4"
],
"type": "string",
"description": "1 = Economy, 2 = Premium economy, 3 = Business, 4 = First"
},
"outbound_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"infants_on_lap": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"departure_token": {
"type": "string",
"description": "Token from a search result to get booking options"
},
"infants_in_seat": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"price_insights": {
"type": "object",
"properties": {
"price_level": {
"type": "string"
},
"lowest_price": {
"type": "number"
},
"price_history": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
"typical_price_range": {
"type": "array",
"items": {
"type": "number"
}
}
},
"additionalProperties": false
},
"booking_options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"price": {
"type": "number"
},
"book_with": {
"type": "string"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"local_prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"additionalProperties": false
}
},
"option_title": {
"type": "string"
},
"baggage_prices": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"search_metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"selected_flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "number"
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"airline": {
"type": "string"
},
"legroom": {
"type": "string"
},
"airplane": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"travel_class": {
"type": "string"
},
"flight_number": {
"type": "string"
},
"arrival_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"departure_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"often_delayed_by_over_30_min": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"layovers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"total_duration": {
"type": "number"
},
"departure_token": {
"type": "string"
},
"carbon_emissions": {
"type": "object",
"properties": {
"this_flight": {
"type": "number"
},
"difference_percent": {
"type": "number"
},
"typical_for_this_route": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"search_parameters": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "20000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/google-flights/search",
"tags": [
"Google Flights"
],
"method": "GET",
"mimeType": "application/json",
"description": "Search Google Flights for flight offers. Returns best flights, other flights, price insights, and airport info.",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"hl": "en",
"type": "1",
"adults": 1,
"children": 0,
"currency": "USD",
"arrival_id": "LAX",
"return_date": "2026-12-08",
"departure_id": "JFK",
"outbound_date": "2026-12-01",
"infants_on_lap": 0,
"infants_in_seat": 0
}
},
"output": {
"type": "json",
"example": {
"best_flights": [
{
"type": "Round trip",
"price": 350,
"flights": [
{
"airline": "American",
"duration": 360,
"travel_class": "Economy",
"flight_number": "AA 100",
"arrival_airport": {
"id": "LAX",
"name": "Los Angeles International Airport",
"time": "2026-12-01 11:00"
},
"departure_airport": {
"id": "JFK",
"name": "John F. Kennedy International Airport",
"time": "2026-12-01 08:00"
}
}
],
"total_duration": 360
}
],
"search_metadata": {
"id": "search-123",
"status": "Success",
"created_at": "2026-04-22 12:00:00 UTC",
"google_flights_url": "https://www.google.com/travel/flights"
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"departure_id",
"arrival_id",
"outbound_date",
"type",
"adults",
"children",
"infants_in_seat",
"infants_on_lap",
"currency",
"hl"
],
"properties": {
"gl": {
"type": "string",
"description": "Country code for localization"
},
"hl": {
"type": "string",
"default": "en",
"description": "Language code"
},
"type": {
"enum": [
"1",
"2",
"3"
],
"type": "string",
"default": "1",
"description": "1 = Round trip, 2 = One way, 3 = Multi-city"
},
"stops": {
"enum": [
"0",
"1",
"2",
"3"
],
"type": "string",
"description": "0 = Any, 1 = Nonstop only, 2 = Up to 1 stop, 3 = Up to 2 stops"
},
"adults": {
"type": "integer",
"default": 1,
"maximum": 9,
"minimum": 1
},
"children": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"currency": {
"type": "string",
"default": "USD",
"maxLength": 3,
"minLength": 3,
"description": "Currency code"
},
"max_price": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Max price in local currency",
"exclusiveMinimum": 0
},
"arrival_id": {
"type": "string",
"description": "Arrival airport code (IATA), city, or kgmid. Comma-separated for multi-city."
},
"return_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Return date (required for round trip)"
},
"departure_id": {
"type": "string",
"description": "Departure airport code (IATA), city, or kgmid. Comma-separated for multi-city."
},
"travel_class": {
"enum": [
"1",
"2",
"3",
"4"
],
"type": "string",
"description": "1 = Economy, 2 = Premium economy, 3 = Business, 4 = First"
},
"outbound_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Departure date"
},
"infants_on_lap": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"infants_in_seat": {
"type": "integer",
"default": 0,
"maximum": 9,
"minimum": 0
},
"exclude_airlines": {
"type": "string",
"description": "Comma-separated airline codes to exclude"
},
"include_airlines": {
"type": "string",
"description": "Comma-separated airline codes to include"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"airports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"arrival": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"image": {
"type": "string"
},
"airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"country": {
"type": "string"
},
"thumbnail": {
"type": "string"
},
"country_code": {
"type": "string"
}
},
"additionalProperties": false
}
},
"departure": {
"type": "array",
"items": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"image": {
"type": "string"
},
"airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"country": {
"type": "string"
},
"thumbnail": {
"type": "string"
},
"country_code": {
"type": "string"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
},
"best_flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "number"
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"airline": {
"type": "string"
},
"legroom": {
"type": "string"
},
"airplane": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"travel_class": {
"type": "string"
},
"flight_number": {
"type": "string"
},
"arrival_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"departure_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"often_delayed_by_over_30_min": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"layovers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"total_duration": {
"type": "number"
},
"departure_token": {
"type": "string"
},
"carbon_emissions": {
"type": "object",
"properties": {
"this_flight": {
"type": "number"
},
"difference_percent": {
"type": "number"
},
"typical_for_this_route": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"other_flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"price": {
"type": "number"
},
"flights": {
"type": "array",
"items": {
"type": "object",
"properties": {
"airline": {
"type": "string"
},
"legroom": {
"type": "string"
},
"airplane": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"travel_class": {
"type": "string"
},
"flight_number": {
"type": "string"
},
"arrival_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"departure_airport": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"time": {
"type": "string"
}
},
"additionalProperties": false
},
"often_delayed_by_over_30_min": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"layovers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"duration": {
"type": "number"
},
"overnight": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"extensions": {
"type": "array",
"items": {
"type": "string"
}
},
"airline_logo": {
"type": "string"
},
"total_duration": {
"type": "number"
},
"departure_token": {
"type": "string"
},
"carbon_emissions": {
"type": "object",
"properties": {
"this_flight": {
"type": "number"
},
"difference_percent": {
"type": "number"
},
"typical_for_this_route": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"price_insights": {
"type": "object",
"properties": {
"price_level": {
"type": "string"
},
"lowest_price": {
"type": "number"
},
"price_history": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
},
"typical_price_range": {
"type": "array",
"items": {
"type": "number"
}
}
},
"additionalProperties": false
},
"search_metadata": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"type": "string"
},
"processed_at": {
"type": "string"
},
"json_endpoint": {
"type": "string"
},
"total_time_taken": {
"type": "number"
},
"google_flights_url": {
"type": "string"
}
},
"additionalProperties": false
},
"search_parameters": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "5400",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "5400",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/hotels/autocomplete",
"tags": [
"Hotels"
],
"method": "GET",
"mimeType": "application/json",
"description": "Autocomplete hotel names",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"max": 10,
"keyword": "meridien",
"subType": "HOTEL_GDS"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"id": "MCPAR123",
"name": "Le Meridien Etoile",
"subType": "HOTEL_GDS",
"iataCode": "PAR"
}
],
"meta": {
"count": 1
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"keyword",
"subType"
],
"properties": {
"max": {
"type": "number"
},
"lang": {
"type": "string"
},
"keyword": {
"type": "string",
"description": "Hotel name keyword"
},
"subType": {
"enum": [
"HOTEL_LEISURE",
"HOTEL_GDS"
],
"type": "string",
"description": "Hotel database type"
},
"countryCode": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
},
"meta": {}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "32400",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "32400",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/hotels/list",
"tags": [
"Hotels"
],
"method": "GET",
"mimeType": "application/json",
"description": "List hotels by city code",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"max": 20,
"radius": 5,
"cityCode": "PAR",
"radiusUnit": "KM"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"name": "Le Meridien Etoile",
"dupeId": 700001234,
"address": {
"countryCode": "FR"
},
"geoCode": {
"latitude": 48.877,
"longitude": 2.285
},
"hotelId": "MCPAR123",
"iataCode": "PAR",
"chainCode": "MC"
}
],
"meta": {
"count": 1
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cityCode"
],
"properties": {
"max": {
"type": "number",
"description": "Maximum number of results (default 100)"
},
"radius": {
"type": "number",
"description": "Search radius"
},
"ratings": {
"type": "string",
"description": "Comma-separated star ratings (1-5)"
},
"cityCode": {
"type": "string",
"description": "IATA city code (e.g. PAR)"
},
"amenities": {
"type": "string",
"description": "Comma-separated amenity codes"
},
"chainCodes": {
"type": "string",
"description": "Comma-separated hotel chain codes"
},
"hotelScore": {
"enum": [
"BEDBANK",
"DIRECTCHAIN",
"ALL"
],
"type": "string",
"description": "Hotel source filter"
},
"radiusUnit": {
"enum": [
"KM",
"MILE"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
},
"meta": {}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "32400",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "32400",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/hotels/list/by-geocode",
"tags": [
"Hotels"
],
"method": "GET",
"mimeType": "application/json",
"description": "List hotels by geographic coordinates",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"max": 20,
"radius": 5,
"latitude": 48.8566,
"longitude": 2.3522,
"radiusUnit": "KM"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"name": "Le Meridien Etoile",
"dupeId": 700001234,
"address": {
"countryCode": "FR"
},
"geoCode": {
"latitude": 48.877,
"longitude": 2.285
},
"hotelId": "MCPAR123",
"iataCode": "PAR",
"chainCode": "MC"
}
],
"meta": {
"count": 1
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"latitude",
"longitude"
],
"properties": {
"max": {
"type": "number",
"description": "Maximum number of results (default 100)"
},
"radius": {
"type": "number"
},
"ratings": {
"type": "string"
},
"latitude": {
"type": "number",
"description": "Latitude coordinate"
},
"amenities": {
"type": "string"
},
"longitude": {
"type": "number",
"description": "Longitude coordinate"
},
"chainCodes": {
"type": "string"
},
"hotelScore": {
"enum": [
"BEDBANK",
"DIRECTCHAIN",
"ALL"
],
"type": "string"
},
"radiusUnit": {
"enum": [
"KM",
"MILE"
],
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
},
"meta": {}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "32400",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "32400",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/hotels/search",
"tags": [
"Hotels"
],
"method": "GET",
"mimeType": "application/json",
"description": "Search hotel offers by hotel IDs",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"adults": 2,
"hotelIds": "MCPAR123",
"checkInDate": "2026-12-01",
"checkOutDate": "2026-12-05",
"currencyCode": "USD"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"type": "hotel-offers",
"hotel": {
"name": "Le Meridien Etoile",
"hotelId": "MCPAR123"
},
"offers": [
{
"id": "offer-1",
"price": {
"total": "500.00",
"currency": "USD"
},
"checkInDate": "2026-12-01",
"checkOutDate": "2026-12-05"
}
],
"available": true
}
]
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"hotelIds"
],
"properties": {
"lang": {
"type": "string",
"description": "Language code (e.g. en)"
},
"adults": {
"type": "number",
"description": "Number of adults (default 1)"
},
"hotelIds": {
"type": "string",
"description": "Comma-separated Amadeus hotel IDs"
},
"boardType": {
"enum": [
"ROOM_ONLY",
"BREAKFAST",
"HALF_BOARD",
"FULL_BOARD",
"ALL_INCLUSIVE"
],
"type": "string"
},
"priceRange": {
"type": "string",
"description": "Price range (e.g. 100-300)"
},
"checkInDate": {
"type": "string",
"description": "Check-in date (YYYY-MM-DD)"
},
"bestRateOnly": {
"type": "boolean"
},
"checkOutDate": {
"type": "string",
"description": "Check-out date (YYYY-MM-DD)"
},
"currencyCode": {
"enum": [
"CAD",
"HKD",
"ISK",
"PHP",
"DKK",
"HUF",
"CZK",
"AUD",
"RON",
"SEK",
"IDR",
"INR",
"BRL",
"RUB",
"HRK",
"JPY",
"THB",
"EUR",
"CHF",
"SGD",
"PLN",
"BGN",
"TRY",
"CNY",
"NOK",
"NZD",
"ZAR",
"USD",
"MXN",
"ILS",
"GBP",
"KRW",
"MYR"
],
"type": "string",
"description": "Currency code"
},
"includeClosed": {
"type": "boolean"
},
"paymentPolicy": {
"enum": [
"GUARANTEE",
"DEPOSIT",
"NONE"
],
"type": "string"
},
"countryOfResidence": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "5400",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "5400",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/reference/locations",
"tags": [
"Reference"
],
"method": "GET",
"mimeType": "application/json",
"description": "Search for airports and cities by keyword",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"keyword": "Paris",
"subType": "AIRPORT,CITY",
"countryCode": "FR"
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"name": "CHARLES DE GAULLE",
"type": "location",
"address": {
"cityName": "PARIS",
"countryCode": "FR"
},
"geoCode": {
"latitude": 49.0097,
"longitude": 2.5479
},
"subType": "AIRPORT",
"iataCode": "CDG"
}
],
"meta": {
"count": 1
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subType",
"keyword"
],
"properties": {
"sort": {
"enum": [
"analytics.travelers.score"
],
"type": "string"
},
"view": {
"enum": [
"FULL",
"LIGHT"
],
"type": "string"
},
"keyword": {
"type": "string",
"description": "Search keyword (city or airport name)"
},
"subType": {
"enum": [
"AIRPORT",
"CITY",
"AIRPORT,CITY"
],
"type": "string",
"description": "Location sub-type filter"
},
"countryCode": {
"type": "string",
"description": "ISO 3166-1 country code"
},
"page[limit]": {
"type": "number",
"description": "Maximum results per page"
},
"page[offset]": {
"type": "number",
"description": "Results offset"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {}
},
"meta": {}
},
"additionalProperties": false
}
}
}
}
}
}
},
"x402Version": 2
},
{
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xDd257723b86B4947483905cdAcBbBC70fACF2ec0",
"amount": "20000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "2wKupLR9q6wXYppw8Gr2NvWxKBUqm4PPJKkQfoxHDBg4"
},
"payTo": "6u5LMGQC2qk9peNibahmRWxGVXrBypk8nhTCcqtiuqMY",
"amount": "20000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://stabletravel.dev/api/seats-aero/search",
"tags": [
"Seats Aero"
],
"method": "GET",
"mimeType": "application/json",
"description": "Search cached Seats.aero award availability by origin, destination, dates, cabin, carriers, and pagination.",
"serviceName": "StableTravel"
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"take": 25,
"cabin": "business",
"end_date": "2026-12-15",
"start_date": "2026-12-01",
"origin_airport": "SFO",
"destination_airport": "FRA,LHR",
"only_direct_flights": true
}
},
"output": {
"type": "json",
"example": {
"data": [
{
"ID": "avail_123",
"Date": "2026-12-10",
"Route": {
"Source": "united",
"OriginRegion": "North America",
"OriginAirport": "SFO",
"DestinationRegion": "Europe",
"DestinationAirport": "FRA"
},
"Source": "united",
"JDirect": true,
"JAirlines": "UA",
"JAvailable": true,
"JMileageCost": "88000",
"JRemainingSeats": 2
}
],
"count": 1,
"cursor": 123456,
"hasMore": true
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"origin_airport",
"destination_airport"
],
"properties": {
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of results to skip"
},
"take": {
"type": "integer",
"maximum": 1000,
"minimum": 10,
"description": "Number of results to return, 10 to 1000"
},
"cabin": {
"enum": [
"economy",
"premium",
"business",
"first"
],
"type": "string",
"description": "Award cabin to require"
},
"cursor": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Cursor from a previous Seats.aero response"
},
"carriers": {
"type": "string",
"description": "Comma-delimited carrier filter, e.g. \"UA,LH\"."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Latest departure date"
},
"order_by": {
"enum": [
"lowest_mileage"
],
"type": "string",
"description": "Order results by cheapest mileage instead of default date order"
},
"start_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Earliest departure date"
},
"include_trips": {
"type": "boolean",
"description": "Include trip-level details in cached search results"
},
"origin_airport": {
"type": "string",
"minLength": 3,
"description": "Origin airport list. Comma-delimit multiple codes, e.g. \"SFO,LAX\"."
},
"destination_airport": {
"type": "string",
"minLength": 3,
"description": "Destination airport list. Comma-delimit multiple codes, e.g. \"FRA,LHR\"."
},
"only_direct_flights": {
"type": "boolean",
"description": "Only return results with direct award availability"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"data": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"ID": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"Date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"Route": {
"anyOf": [
{
"type": "object",
"properties": {
"ID": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"Source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"Distance": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"NumDaysOut": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"OriginRegion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"OriginAirport": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"DestinationRegion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"DestinationAirport": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"Source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"FDirect": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"JDirect": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"RouteID": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"WDirect": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"YDirect": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"CreatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"FAirlines": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"JAirlines": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"UpdatedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"WAirlines": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"YAirlines": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"FAvailable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"JAvailable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"ParsedDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"WAvailable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"YAvailable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"FMileageCost": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"JMileageCost": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"WMileageCost": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"YMileageCost": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"FRemainingSeats": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"JRemainingSeats": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"WRemainingSeats": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"YRemainingSeats": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"AvailabilityTrips": {}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"count": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"cursor": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"hasMore": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
}
}
}
}
},
"x402Version": 2
}
] UPTIME
RECENT CHECKS
OVER TIME
All charts share the 30d window selected here. Every series is also served as JSON at /api/v1/services/stabletravel/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted).
Median across 10 endpoints. Use the selector to isolate one.
COMPLIANCE
11/11 checks pass · grade A- 402 payload captured
- accepts[] array present
- payTo address recoverable
- payTo at accepts[0].payTo (conformant shape)
- payTo is a valid on-chain address
- atomic price declared
- atomic price in a sane range
- asset (token) address declared
- network resolves to CAIP-2
- payment scheme declared
- served over HTTPS
EMBED THIS BADGE
<a href="https://x402-list.com/services/stabletravel?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/stabletravel.svg" alt="StableTravel listed on x402-list" height="28"> </a>
[](https://x402-list.com/services/stabletravel?utm_source=badge&utm_medium=referral&utm_campaign=embed)
<a href="https://x402-list.com/services/stabletravel?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/stabletravel.svg?data=uptime" alt="StableTravel uptime on x402-list" height="28"> </a>