An agent tries to book you
It lands on your profile, can’t parse your prices, and DMs a human who answers nine hours later. The agent already moved on.
Publish once. Clients book a link. Agents pay the same offering. Credits land on your wallet — no merchant account.
Free to open. 1.5% on payment requests.
HTTP 402 + x402 settle. Coinbase, Cloudflare, MetaMask, AWS, and any client that speaks x402 can pay your catalog. Humans finish on the same SKU with Vybe Wallet, MetaMask, or a verified on-chain transfer.
Base USDC supports x402 PAYMENT-SIGNATUREvia the Coinbase facilitator. USDC & USDT on Base, Ethereum, and BNB Chain settle with a verified txHash.
Collect is live protocol, not a waitlist. Agents get HTTP 402 + PAYMENT-REQUIRED, settle USDC or USDT, and credit the same wallet a human pays into. Integrators: follow the step-by-step guide.
curl https://vybe.finance/api/agent/collect/{username}Major platforms are handing agents money to spend. Every one of those dollars needs somewhere to land—and right now it lands in DMs, invoices and merchant-account queues. The agent gives up, and the sale never happens.
It lands on your profile, can’t parse your prices, and DMs a human who answers nine hours later. The agent already moved on.
Charging for it means card acquiring, a merchant account and a billing integration—weeks of work before the first cent arrives.
A separate wallet, a separate dashboard, a separate reconciliation job—for income you already track in one place.
Individuals get paid without writing a line of code. Businesses wire Collect into their own product. Both settle into the same Vybe balance.
Your Vybe service page already lists sessions, packages and retainers. Collect turns it into a machine-readable catalog agents can read and pay—no keys, no server, no merchant account.
Setup takes about five minutes. Turn it off whenever you want.
Put express-vybe-402 on the routes you want paid. Callers hit HTTP 402, settle USDC or USDT on a supported network, retry, and your handler runs. Optional keys and webhooks for catalog + fulfillment.
Built for programmatic access—not a card form for your homepage.
One Collect catalog. Clear outcomes.

Let AI agents buy from your Shopify store. Same products, paid into your Vybe balance.

Charge agents every time they call your MCP tools. Unpaid requests stop at the door.

Put a paywall on your model API. Agents pay per inference — you get paid per call.

Publish your rates once. Agents book and pay the same offerings as your human clients.
A fixed amount, a pay-to address on Base, and a link a human could finish instead. Whoever pays, the money lands in the same balance.
Agent checkout
@alex · 60 min · Loom or live
Fixed amount · an agent settles on Base or a human pays the same link
Same object behind your /r/ links—amount, fee, memo, expiry. Nothing new to reconcile.
Vybe verifies the transfer on Base, Ethereum, or BNB Chain before anything is marked paid.
Agent income sits beside client income and cashes out on the same rails.
Same intent, two payers. If the agent stalls, the buyer can open /r/Vh3xR2mQ and finish it by hand.
No merchant account. No card acquiring. No code. The offerings you already publish become a catalog agents can buy from.
Add sessions, packages or retainers on your Vybe service page.
Toggle “Accept payments from AI agents.” Your catalog goes live at /a/@you.
They read your catalog, get a 402 intent, settle in USDC—your balance moves.
This is pay-per-call for agents and scripts—not a drop-in checkout for your marketing site. Humans still buy on /s/@you. Your API uses HTTP 402.
Pay-per-call (or pay-per-route) access for agents and programmatic clients—not a card checkout page for shoppers.
npm i express-vybe-402 on your API server. Point it at your Vybe @username and an offering id from your Collect catalog.
First hit → HTTP 402 with payment details. They settle USDC or USDT on Base, Ethereum, or BNB (x402 or tx hash). Retry with X-Vybe-Public-Id → your code runs.
Your Vybe balance—same as human payment requests. Optional payment.paid webhook for fulfillment.
Protocol vybe-agent-collect v0.1: HTTP 402 Payment Required (x402-shaped), settle with a txHash, or poll until paid. Human fallback lives at /r/….
BASE=https://vybe.finance/api/agent/collect/alex
# 1. Discover offerings
curl $BASE
# 2. Start checkout (returns HTTP 402)
curl -X POST $BASE/svc_9fQ2Kd
# 3a. x402 clients retry with PAYMENT-SIGNATURE (facilitator settles)
# curl -X POST $BASE/svc_9fQ2Kd -H "PAYMENT-SIGNATURE: <base64>"
# 3b. Or after a USDC/USDT transfer on Base, Ethereum, or BNB — settle with txHash
curl -X POST $BASE/svc_9fQ2Kd/status \
-H 'Content-Type: application/json' \
-d '{"publicId":"Vh3xR2mQ","txHash":"0x…","chain":"base"}'
# 4. Or poll until paid
curl "$BASE/svc_9fQ2Kd/status?publicId=Vh3xR2mQ"HTTP/1.1 402 Payment Required
PAYMENT-REQUIRED: <base64 x402 v2>
{
"protocol": "vybe-agent-collect",
"version": "0.1",
"x402Version": 1,
"accepts": [
{ "network": "eip155:8453", "asset": "USDC on Base", "…" },
{ "network": "eip155:1", "asset": "USDC on Ethereum", "…" },
{ "network": "eip155:56", "asset": "USDT on BNB", "…" }
],
"vybe": {
"publicId": "Vh3xR2mQ",
"requestUrl": "https://vybe.finance/r/Vh3xR2mQ",
"statusUrl": "https://vybe.finance/api/agent/…/status",
"expiresAt": "2026-08-08T18:04:11.000Z"
}
}One Bearer key manages the same catalog your service page shows. When an agent settles, we verify the transfer on Base and POST you a signed event—so your fulfilment runs without anyone watching a dashboard.
# Create / rotate a server key
POST /api/collect/v1/credentials
# Upsert offerings + enable Collect
PUT /api/collect/v1/offerings
Authorization: Bearer vybe_col_…
# Register your webhook
PUT /api/collect/v1/webhook
{ "url": "https://you.com/hooks/vybe" }POST https://you.com/hooks/vybe
X-Vybe-Signature: sha256=…
{
"type": "payment.paid",
"publicId": "Vh3xR2mQ",
"offeringId": "svc_9fQ2Kd",
"amount": "150.00",
"token": "usdc",
"settlementTxHash": "0x…"
}express-vybe-402 sits on the routes you choose. Unpaid requests never reach your handler: the middleware returns 402 with a Collect intent, then calls next() only after status is paid.
import express from "express";
import { requireVybePayment } from "express-vybe-402";
const app = express();
// Agents get HTTP 402 until they pay for this route.
app.get(
"/v1/insights",
requireVybePayment({
username: "alex",
offeringId: "svc_9fQ2Kd",
}),
(req, res) => res.json({ data: buildInsights() }),
);
// The agent retries with the settled intent:
// X-Vybe-Public-Id: Vh3xR2mQGET /api/agent/collect/{username}POST …/{offeringId} → HTTP 402 + PAYMENT-REQUIREDPAYMENT-SIGNATURE retry, or POST …/status with txHashAgents can only spend
Agents can pay you directly
Prices buried in a DM or a PDF
Machine-readable catalog at /a/@you
Merchant account, card acquiring, KYC queue
One toggle, live in about five minutes
Custom billing code on every endpoint
One middleware: express-vybe-402
A second crypto dashboard to reconcile
One balance for agents and people
No. Individuals never touch a wallet. Agents settle in USDC or USDT on Base, Ethereum, or BNB, you see dollars in your Vybe balance, and you cash out on the same rails as the rest of your income.
Nothing is owed until it settles. The intent is an ordinary Vybe payment request with an expiry—if the agent stalls, a human can open the same /r/ link and finish it by hand.
Vybe checks the USDC or USDT transfer on Base, Ethereum, or BNB against the expected amount and pay-to address before marking the request paid. Only then does your balance move and your payment.paid webhook fire.
Yes. Collect returns HTTP 402 with a PAYMENT-REQUIRED header and JSON accepts[] for USDC and USDT on Base (eip155:8453), Ethereum, and BNB Chain. Base USDC supports facilitator PAYMENT-SIGNATURE settle; any listed rail can settle via txHash (or a human finishes at /r/…).
No. Card checkout forms are for humans paying on a site. express-vybe-402 gates API routes: callers get HTTP 402, pay USDC or USDT on a supported network, then retry. Use your Vybe service page (/s/@you) or Native Checkout for human checkout; use the middleware when you want agents or scripts to pay per call.
Create a Collect offering (the price), wrap the Express route with requireVybePayment({ username, offeringId }), and ship. Unpaid traffic never reaches your handler. After settle, you get a paid status (and optional webhook). Money credits your Vybe balance—no separate merchant dashboard.
Monetization Gateway monetizes sites and APIs already behind Cloudflare. Collect is for freelancers and businesses on Vybe: a toggle on your @username service page, the same balance humans already pay into. They can coexist—agents spend from wallets; you get paid here.
No merchant account, no setup fee, no monthly fee. Agent bookings carry the same small platform fee as any other Vybe payment request.
No. The API extends the offerings your service page already publishes, so humans and agents buy from one source of truth instead of two.
Any time. Flip the toggle and your catalog stops serving offerings—open intents simply expire.
Prefer Native Checkout sessions? Vybe Checkout · Want the long version? Browse all FAQs
Your handle is the main move. Join the list only if you want express-vybe-402 release notes and agent-wallet partner intros.
Wallets are for spending. Your @ is for collecting. Free to claim, live in about five minutes, one balance for people and bots.
Free to open. 1.5% on payment requests.