← Marketplace

Stabletravel

Stabletravel is an x402-native service at https://stabletravel.dev, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 8 endpoints listed.

Base

Offers

OfferEndpointPrice
Flightaware Airports
List all airports with optional pagination
/m/bz-stabletravel-dev/api/flightaware/airports0.01 USDC
EWR Delays
Get current delay information for a specific airport
/m/bz-stabletravel-dev/api/flightaware/airports/EWR/delays0.02 USDC
Weather Observations
Get weather observations (METAR) for a specific airport
/m/bz-stabletravel-dev/api/flightaware/airports/KJFK/weather/observations0.004 USDC
Weather Observations
Get weather observations (METAR) for a specific airport
/m/bz-stabletravel-dev/api/flightaware/airports/KMIA/weather/observations0.004 USDC
Flights UAL123
Get flight information by ident (designator, registration, or fa_flight_id)
/m/bz-stabletravel-dev/api/flightaware/flights/UAL1230.01 USDC
Flights Search
Search for flights by query string (-latlong, -idents, -airline syntax)
/m/bz-stabletravel-dev/api/flightaware/flights/search0.1 USDC
Seats Aero Availability
Retrieve bulk cached Seats.aero award availability for a mileage program, optionally filtered by region, date, and cabin.
/m/bz-stabletravel-dev/api/seats-aero/availability0.04 USDC
Seats Aero Search
Search cached Seats.aero award availability by origin, destination, dates, cabin, carriers, and pagination.
/m/bz-stabletravel-dev/api/seats-aero/search0.02 USDC

Machine-readable: openapi.json with x-payment-info offers.

Try it live

Run the full MPP flow from your browser: catch the 402, sign the payment with your wallet, and watch it settle on-chain.

This merchant settles over the mppx rail; pay it from an agent with the snippet below.

Pay with an agent

Any MPP or x402-compatible client works. With mppx, payment is automatic:

import { Mppx, evm } from 'mppx/client'
import { privateKeyToAccount } from 'viem/accounts'

const mppx = Mppx.create({
  methods: [evm({
    account: privateKeyToAccount(process.env.KEY),
    currencies: [evm.assets.base.USDC],
  })],
})

const res = await mppx.fetch('https://api.meshgateway.co/m/bz-stabletravel-dev/api/flightaware/airports')
// 402 challenge signed and settled automatically; response includes Payment-Receipt

Or inspect the challenge yourself:

curl -i https://api.meshgateway.co/m/bz-stabletravel-dev/api/flightaware/airports
# HTTP/1.1 402 Payment Required
# WWW-Authenticate: Payment id="…", method="evm", intent="charge", …