← Marketplace

Bitrefill

Bitrefill is an x402-native service at https://api.bitrefill.com, 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. 7 endpoints listed.

Base

Offers

OfferEndpointPrice
Checkout Info
Discover the Bitrefill x402 storefront: supported networks, the full route flow, and wallet persistence rules.
/m/bz-api-bitrefill-com/x402/checkout/info0.001 USDC
Esims Search
Search prepaid eSIM data plans for 180+ countries and regions. Pay in USDC via x402, no account.
/m/bz-api-bitrefill-com/x402/esims/search0.002 USDC
Gift Cards Search
Search 10,000+ gift card & voucher brands across 180+ countries by name and country. Pay in USDC via x402, no account.
/m/bz-api-bitrefill-com/x402/gift-cards/search0.002 USDC
Invoice Create
Create a price-locked USDC invoice for one or more gift cards, eSIMs, or mobile top-ups.
/m/bz-api-bitrefill-com/x402/invoice/create0.002 USDC
Invoice Status
Check an invoice status and, with SIWX from the paying wallet, retrieve redemption codes.
/m/bz-api-bitrefill-com/x402/invoice/status0.001 USDC
Products Detail
Get a product's packages, pricing, and recipient requirements before creating an invoice.
/m/bz-api-bitrefill-com/x402/products/detail0.001 USDC
Topups Search
Search mobile top-ups & prepaid airtime for carriers in 180+ countries. Pay in USDC via x402, no account.
/m/bz-api-bitrefill-com/x402/topups/search0.002 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-api-bitrefill-com/x402/checkout/info')
// 402 challenge signed and settled automatically; response includes Payment-Receipt

Or inspect the challenge yourself:

curl -i https://api.meshgateway.co/m/bz-api-bitrefill-com/x402/checkout/info
# HTTP/1.1 402 Payment Required
# WWW-Authenticate: Payment id="…", method="evm", intent="charge", …