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. Humans pay by card or crypto on the same checkout. Agents pay the same offering via 402. Credits land on one balance — no merchant account.
Free to open. 1.5% on payment requests. Book a demo
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 and settle USDC or USDT. Humans open the same /r/ link and pay by card or crypto. Both credit one wallet. 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.
Two checkouts, two prices, two reconciliations—or you lose whichever buyer can’t use your only rail.
A separate merchant account, a separate crypto 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. Card or crypto for people, 402 for agents—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. Humans finish the same /r/ link by card or crypto—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.
Agents pay per call via 402. Humans can still pay the same SKU on /r/ by card or crypto.
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 and human clients pay the same offerings — card or crypto on /r/, 402 for agents.
Agents see a 402 intent (amount + pay-to). Humans open the same /r/ link and pay by card or crypto. Whoever pays, the money lands in the same balance.
Agent checkout
@alex · 60 min · Loom or live
Fixed amount · agent settles on-chain or a human pays the same link by card or crypto
Same object behind your /r/ links—amount, fee, memo, expiry. Nothing new to reconcile.
Agents pay USDC/USDT (x402 or on-chain). Humans open /r/ and pay by card (Stripe) or crypto—whichever fits.
Agent and client income sit side by side and cash out on the same rails.
Same intent, two rails for people. If the agent stalls, open /r/Vh3xR2mQ and finish by card or crypto.
No merchant account. No code. Toggle Collect (and card/fiat when you want it). The offerings you already publish become a catalog agents and humans can buy from.
Add sessions, packages or retainers on your Vybe service page.
Toggle agent Collect (and card/fiat on checkout when you want it). Catalog goes live at /a/@you.
Agents settle via 402. Humans open the same /r/ link and pay by card or crypto—your balance moves.
This is pay-per-call for agents and scripts—not a drop-in checkout for your marketing site. Humans still buy the same offering on /r/ by card or crypto. Your API uses HTTP 402.
Pay-per-call (or pay-per-route) access for agents and programmatic clients—plus human checkout on the same SKU when someone opens /r/.
npm i express-vybe-402 on your API server. Point it at your Vybe @username and an offering id from your Collect catalog.
Agents: first hit → HTTP 402, settle USDC/USDT (x402 or tx hash), retry. Humans: open /r/ and pay by card (Stripe) or crypto—same paid unlock.
Your Vybe balance—same as any Collect settle. 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. Humans finish the same intent at /r/… by card or crypto.
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
Crypto-only checkout loses human buyers
Same SKU: card or crypto for people · 402 for agents
Custom billing code on every endpoint
One middleware: express-vybe-402
A second dashboard to reconcile
One balance for agents and people
We're onboarding twenty businesses that want agents and humans paying the same catalog — card or crypto for people, 402 for agents. You get a pair session, first paid test, and a path to marketplace — not a waitlist for a deck.
Yes. On Collect checkout (/r/…), enable Accept card / fiat on your service page. Buyers can pay by card via Stripe (Vybe is merchant of record in v1) or choose crypto. Agents still settle via HTTP 402 / USDC–USDT. Same offering, same paid unlock.
No. Humans can pay by card on /r/. Agents settle in USDC or USDT when they use the 402 path. You see dollars in your Vybe balance and 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 by card or crypto.
Crypto settles: Vybe verifies the USDC or USDT transfer on Base, Ethereum, or BNB before marking paid. Card settles: Stripe webhook confirms checkout, then we mark the same payment request paid and fire payment.paid.
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/… with card or crypto).
No. express-vybe-402 gates API routes for agents and scripts (HTTP 402 → pay crypto → retry). For human shoppers use /r/ or Native Checkout—where card and crypto are both available when you enable fiat. One catalog feeds both.
Create a Collect offering (the price), wrap the Express route with requireVybePayment({ username, offeringId }), and ship. Unpaid agent traffic never reaches your handler. Humans can still pay the offering on /r/. After settle, you get a paid status (and optional webhook). Money credits your Vybe balance.
Monetization Gateway monetizes sites and APIs already behind Cloudflare. Collect is for freelancers and businesses on Vybe: a toggle on your @username service page, dual-rail human checkout, and the same balance agents and people pay into.
No merchant account, no setup fee, no monthly fee. Bookings carry the same small platform fee as any other Vybe payment request. Card settles also include Stripe’s processing fee on the fiat rail.
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 Collect (or card/fiat) off and that path stops—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. Book a demo