← Marketplace

Twit

Twit is an x402-native service at https://x402.twit.sh, 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. 6 endpoints listed.

Base

Offers

OfferEndpointPrice
Lists Tweets
Get the latest tweets from a Twitter/X List by its numeric List ID. Returns ~100 tweets per page with pagination support. Query params: id (string, required) - numeric List ID; next_token (string, optional) - pagination cursor, e.g. GET /lists/tweets?id=84839422. Returns X v2 API-compatible JSON.
/m/bz-x402-twit-sh/lists/tweets0.01 USDC
By Id
Look up a single Twitter/X tweet by its numeric tweet ID. Returns full tweet data including text, author profile, creation date, engagement metrics (likes, retweets, replies, quotes, bookmarks), and referenced tweets. Query param: id (string, required) - numeric tweet ID, e.g. GET /tweets/by/id?id=1110302988. Returns X v2 API-compatible JSON.
/m/bz-x402-twit-sh/tweets/by/id0.0025 USDC
Tweets Search
Search Twitter/X tweets with advanced filters. Returns up to 20 tweets per page, most recent first, with pagination. At least one filter required. Params: words, phrase, anyWords, noneWords, hashtags, from, to, mentioning, minReplies, minLikes, minReposts, since (YYYY-MM-DD), until, next_token. e.g. GET /tweets/search?words=bitcoin&from=elonmusk&minLikes=100. Returns X v2 API-compatible JSON.
/m/bz-x402-twit-sh/tweets/search0.006 USDC
Tweets User
Get the latest tweets (timeline) from a specific Twitter/X user by their username. Returns up to 20 tweets per page sorted by most recent first, with pagination support. Query params: username (string, required) - Twitter screen name; next_token (string, optional) - pagination cursor, e.g. GET /tweets/user?username=elonmusk. Returns X v2 API-compatible JSON.
/m/bz-x402-twit-sh/tweets/user0.01 USDC
By Username
Look up a Twitter/X user profile by their screen name. Returns full profile data including id, name, username, bio, follower count, following count, tweet count, verification status, and profile image URL. Query param: username (string, required) - Twitter screen name without @, e.g. GET /users/by/username?username=elonmusk. Returns X v2 API-compatible JSON.
/m/bz-x402-twit-sh/users/by/username0.005 USDC
Users Search
Search Twitter/X for user accounts matching a keyword or phrase. Returns up to 20 matching user profiles per page with pagination support. Useful for discovering users by topic, name, or keyword. Query params: query (string, required) - search keyword or phrase; next_token (string, optional) - pagination cursor from previous response, e.g. GET /users/search?query=bitcoin. Returns X v2 API-compatib
/m/bz-x402-twit-sh/users/search0.01 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-x402-twit-sh/lists/tweets')
// 402 challenge signed and settled automatically; response includes Payment-Receipt

Or inspect the challenge yourself:

curl -i https://api.meshgateway.co/m/bz-x402-twit-sh/lists/tweets
# HTTP/1.1 402 Payment Required
# WWW-Authenticate: Payment id="…", method="evm", intent="charge", …