← Marketplace

4yearcycle

4yearcycle is an x402-native service at https://4yearcycle.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. 2 endpoints listed.

Base

Offers

OfferEndpointPrice
X402 Tenders
EU public procurement tender notices from the official TED (Tenders Electronic Daily) v3 API, filtered by CPV product/service code, country of performance and free-text keywords over a recent publication window; returns structured JSON per notice with title, buyer, deadline, publication date, CPV codes, notice URL and German PDF link.
/m/bz-4yearcycle-com/x402/tenders0.01 USDC
X402 Web Search
General web search reselling the Tavily Search API: query the live web and get back ranked results (title, URL, snippet, relevance score) plus an optional short synthesized answer, with basic or advanced search depth and optional domain include/exclude filters.
/m/bz-4yearcycle-com/x402/web-search0.03 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-4yearcycle-com/x402/tenders')
// 402 challenge signed and settled automatically; response includes Payment-Receipt

Or inspect the challenge yourself:

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