Pay Collect offering
pay_offeringStart a Vybe Collect payment under the owner's connected spend key (OAuth Sign in or Bearer VAPT). Creates a pending pay and returns awaiting_approval — money does not move until the wallet owner taps Approve in Vybe (web or mobile). After paid (or trial), call use_paid_offering with the returned publicId — that unlocks research files, lists/runs seller MCP tools, or proxies paid API calls. Do not scrape the marketplace page. Pass username plus offeringId, or a Collect / marketplace offeringUrl. Related: use_paid_offering, fetch_paid_content, get_limits, get_spend_balance, list_recent_pays.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "pay_offering"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| calls | No | Optional. Buy a prepaid bundle of this many calls (see bundles in get_tool), usually cheaper per call. Omit it to use free calls and bundle calls first; when those run out, a tool that sells bundles charges for its smallest bundle, and only tools without bundles charge for one call. | |
| username | No | Seller Collect username without the @ prefix, for example yellobots. Required with offeringId when offeringUrl is omitted. | |
| offeringId | No | Collect offering id from the seller catalog, for example svc_gMcO7ioZ. Required with username when offeringUrl is omitted. | |
| offeringUrl | No | Full Collect or marketplace URL for the offering, including tool pages like https://www.vybe.finance/marketplace/tools/{slug} (offeringUrl from search_tools). Use this instead of username plus offeringId when you already have the link. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | true when the pay was created or a trial was granted. | |
| token | No | Settlement token, typically usdc. | |
| amount | No | USD amount as a decimal string, e.g. 0.02. | |
| status | No | awaiting_approval means the owner must Approve in Vybe. trusted_awaiting means a connected merchant pay is queued quietly. trial means a free call was granted and prepaid means one call was spent from a bought bundle; neither needs Approve. | |
| unlock | No | Exact unlock step: call use_paid_offering with publicId. Do not scrape marketplace HTML or invent seller HTTP calls. | |
| message | No | Short instruction for the agent to show the user. | |
| publicId | No | Vybe payment request id. | |
| invokeUrl | No | After paid or trial: GET this URL with header X-Vybe-Public-Id set to publicId to receive the unlocked content. | |
| statusUrl | No | Poll this URL for paid / pending / cancelled. | |
| approveUrl | No | Link for the owner to Approve or Decline in Vybe. | |
| nextAction | No | Machine-readable next step after Approve: which tool to call and with which publicId. | |
| offeringId | No | Collect offering id, e.g. svc_… | |
| offeringType | No | Collect offering type: mcp, api, asset, session, etc. | |
| offeringTitle | No | Human title of the offering. | |
| sellerUsername | No | Collect seller username without @. |