← Marketplace
Base
2s
2s is an x402-native service at https://2s.io, 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. 1 endpoint listed.
Offers
| Offer | Endpoint | Price |
|---|---|---|
Geocode Address Forward geocoding — free-text address or place name → latitude/longitude plus structured address components (houseNumber, road, suburb, city, county, state, postcode, country, countryCode). Query: q (2-500 chars), limit (1-10, default 5), country (optional 2-letter ISO 3166-1 bias). Underlying data is OpenStreetMap (ODbL). Sister: /api/geocode/reverse. | /m/bz-2s-io/api/geocode/address | 0.0025 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-2s-io/api/geocode/address')
// 402 challenge signed and settled automatically; response includes Payment-ReceiptOr inspect the challenge yourself:
curl -i https://api.meshgateway.co/m/bz-2s-io/api/geocode/address # HTTP/1.1 402 Payment Required # WWW-Authenticate: Payment id="…", method="evm", intent="charge", …