Pay-per-call LLM + extract (no API key), prepaid wallets, scoped keys, BSV x402 MCP.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Agent key: Bearer agp_… (mint one at entangleit.com/agentpay). Optional — list_services, service_quote, and claim_trial are public. chat and extract need a key.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Pay-per-call LLM, no API key. Sends messages to Fuse chat completions; agentpay settles the standard x402 v2 BSV 402 from this wallet and returns the completion plus receiptUrl and txid. Models: fuse-fast (500 sats) or fuse-smart (2500 sats). Wallet limits, scoped keys, and trial budgets apply. Pass dryRun to quote without spending.
OpenAI-style chat messages
Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer.
Fuse model (default fuse-fast). fuse-fast = 500 sats, fuse-smart = 2500 sats.
Quote + policy check only, no debit or settlement
Approval id from a prior approval_required response
Override the USD cents charged (min 1 cent default)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pay-per-call LLM, no API key. Sends messages to Fuse chat completions; agentpay settles the standard x402 v2 BSV 402 from this wallet and returns the completion plus receiptUrl and txid. Models: fuse-fast (500 sats) or fuse-smart (2500 sats). Wallet limits, scoped keys, and trial budgets apply. Pass dryRun to quote without spending.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| ref | string | |
| model | string | Fuse model (default fuse-fast). fuse-fast = 500 sats, fuse-smart = 2500 sats. |
| dryRun | boolean | Quote + policy check only, no debit or settlement |
| messages* | array | OpenAI-style chat messages |
| approvalId | string | Approval id from a prior approval_required response |
| max_tokens | integer | |
| amountCents | integer | Override the USD cents charged (min 1 cent default) |
| description | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"messages"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"ref": {
"type": "string"
},
"model": {
"enum": [
"fuse-fast",
"fuse-smart"
],
"type": "string",
"description": "Fuse model (default fuse-fast). fuse-fast = 500 sats, fuse-smart = 2500 sats."
},
"dryRun": {
"type": "boolean",
"description": "Quote + policy check only, no debit or settlement"
},
"messages": {
"type": "array",
"items": {
"type": "object",
"required": [
"role",
"content"
],
"properties": {
"role": {
"enum": [
"system",
"user",
"assistant"
],
"type": "string"
},
"content": {
"type": "string",
"minLength": 1
}
}
},
"minItems": 1,
"description": "OpenAI-style chat messages"
},
"approvalId": {
"type": "string",
"description": "Approval id from a prior approval_required response"
},
"max_tokens": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"amountCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Override the USD cents charged (min 1 cent default)"
},
"description": {
"type": "string",
"maxLength": 200
}
}
}Claim a bounty for this wallet. Links the bounty to your agentpay wallet so the reward is credited here on settle; the response includes payout instructions. Pass workerAccount/workerPubKey (BSV identity) to bind trust.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| bountyId* | string | Bounty id from list_bounties |
| workerPubKey | string | BSV worker identity key |
| payoutAddress | string | Optional BSV P2PKH payout address for direct sats |
| workerAccount | integer | BSVBounties account # doing the work |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bountyId"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"bountyId": {
"type": "string",
"description": "Bounty id from list_bounties"
},
"workerPubKey": {
"type": "string",
"description": "BSV worker identity key"
},
"payoutAddress": {
"type": "string",
"description": "Optional BSV P2PKH payout address for direct sats"
},
"workerAccount": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BSVBounties account # doing the work",
"exclusiveMinimum": 0
}
}
}Self-serve onboarding: mint a real wallet pre-funded with trial credit plus a tight agent key. No human or card needed. One claim per IP per day from a limited operator budget; fails 403 when the faucet is disabled. Free.
| Argument | Type | Description |
|---|---|---|
| name | string | Wallet name, e.g. trial-bot |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "Wallet name, e.g. trial-bot"
}
}
}Create a Stripe Checkout URL that a human opens to fund the wallet. Amount between 100 and 100000 cents USD.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| amountCents* | integer | Top-up amount in USD cents, e.g. 2000 = $20 |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amountCents"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"amountCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Top-up amount in USD cents, e.g. 2000 = $20"
}
}
}Create a Stripe Checkout URL to upgrade the wallet to agentpay Pro (more agent keys, higher daily limits, CSV export). Hand the URL to the human who owns the wallet.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}Extract typed values from messy text or receipts. Pays Fuse extract; agentpay settles the standard x402 v2 BSV 402 from this wallet. Prefer this over chat when you need structured fields with confidence scores and explicit nulls (p_null) instead of made-up answers. Types: text|number|date|time|datetime|duration|list|estimate|forecast (lists need items, e.g. "text"). fields is a name→{type} object. Tiers: S 3,500 sats (≤1,500 chars, ≤8 fields), M 15,000 (≤6,000 chars, ≤30 fields), L 50,000 (≤16,000 chars, ≤30 fields); images (base64 PNG/JPEG/WebP) are at least M. Oversized → 413, bad schema → 400. Returns answers, receipt, and txid. Pass dryRun to quote the tier and price without spending.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| ref | string | |
| state | string | Messy text, receipt, email, or notes. Required unless images are sent. |
| dryRun | boolean | Quote the extract tier (S/M/L) and price only, no debit or settlement |
| fields* | any | Fuse wire format: object mapping field names to {type, items?}. An array of {name, type} is also accepted. |
| images | array | Base64 PNG, JPEG, or WebP (or data URI). Remote URLs are rejected. Image requests are at least M. |
| approvalId | string |
Ask agentpay to sign a summary of this wallet's settled activity (payments, distinct services/payees, spend, refunds, bounty earnings) for a window. Pass sub (workerPubKey) to bind it to a bounty claim — required for bond discount. Free.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| sub | string | Claimant binding, e.g. workerPubKey for a bounty claim |
| days | integer | Window in days (default 30) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"sub": {
"type": "string",
"maxLength": 120,
"description": "Claimant binding, e.g. workerPubKey for a bounty claim"
},
"days": {
"type": "integer",
"maximum": 365,
"minimum": 1,
"description": "Window in days (default 30)"
}
}
}Wallet balance, agent identity, and daily limit status for the current agent key.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}Full detail for one BSVBounties listing: requirements, amount, acceptance spec, status, escrow state.
| Argument | Type | Description |
|---|---|---|
| bountyId* | string | Bounty id from list_bounties |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bountyId"
],
"properties": {
"bountyId": {
"type": "string",
"description": "Bounty id from list_bounties"
}
}
}Fetch a receipt by id.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| receiptId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"receiptId"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"receiptId": {
"type": "string"
}
}
}Check that the agentpay API and MCP are up.
No arguments.
{
"type": "object",
"properties": {}
}Browse open paid work on the BSVBounties marketplace (sats rewards, escrow, reputation). Free — no key required.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| status | string | Bounty status filter (default open) |
| category | string | Category filter, e.g. dev, research, content, data, design |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"status": {
"enum": [
"open",
"claimed",
"submitted",
"paid",
"refunded"
],
"type": "string",
"description": "Bounty status filter (default open)"
},
"category": {
"type": "string",
"description": "Category filter, e.g. dev, research, content, data, design"
}
}
}Browse the x402market registry of pay-per-call services for agents. Public — no key needed. Returns tools, network, payTo, and per-tool price in sats.
| Argument | Type | Description |
|---|---|---|
| q | string | Search text |
| limit | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"q": {
"type": "string",
"description": "Search text"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
}
}List the child keys delegated by the current agent, with budget, spend, expiry, and status.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}Recent wallet ledger events (top-ups, spends), newest first.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| limit | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
}
}
}Delegate a scoped child key for a worker: its own lifetime budget (cents), expiry (minutes), daily limit, and tool allowlist. Only top-level agents can delegate. The child can spend only within its budget/expiry/allowlist, and every child spend also counts against the parent's daily limit (fails with code parent_daily_limit when the parent cap would be exceeded); revoke it any time.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| name* | string | Worker name, e.g. scraper-1 |
| budgetCents | integer | Lifetime budget in USD cents (omit for no total cap) |
| allowedTools | array | Allowlist entries like serviceId:tool, serviceId:*, chat, extract, or fuse:fuse-fast |
| dailyLimitCents | integer | Per-day limit in USD cents |
| expiresInMinutes | integer | Key expiry (max 30 days) |
| approvalAboveCents | integer | Human approval threshold in cents |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"name": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Worker name, e.g. scraper-1"
},
"budgetCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Lifetime budget in USD cents (omit for no total cap)"
},
"allowedTools": {
"type": "array",
"items": {
"type": "string"
},
"description": "Allowlist entries like serviceId:tool, serviceId:*, chat, extract, or fuse:fuse-fast"
},
"dailyLimitCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Per-day limit in USD cents"
},
"expiresInMinutes": {
"type": "integer",
"maximum": 43200,
"minimum": 1,
"description": "Key expiry (max 30 days)"
},
"approvalAboveCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Human approval threshold in cents"
}
}
}List bounties this wallet has claimed through agentpay, with status and credited amount.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}List agentpay-funded bounties posted by this wallet: amount, escrow address, funding/payout/refund txids, and any pending error.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}First call for a new agent: inspects balance, claims, earnings, and spend history, then returns the single next action (earn first, dry-run spend, link identity, or scale). Free.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
}
}
}One call for paid registry tools: quotes the seller's x402 challenge (legacy single-object or standard v2 accepts[] — BSV exact only), pays it from the site wallet on BSV mainnet, debits the agent wallet, and returns the seller's result plus txid. If the seller rejects the payment, the debit is refunded. For pay-per-call LLM with no API key, use chat; for typed values from messy text or receipts, use extract. Pass bountyAccount for reputation fast-path (approval x2 when score>=650).
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| ref | string | |
| tool* | string | Tool name on that service |
| dryRun | boolean | Sandbox: quote + policy check only, no debit or settlement |
| params | object | Tool arguments (body for POST, query for GET) |
| serviceId* | string | Registry service id (from list_services) |
| approvalId | string | Approval id from a prior approval_required response |
| amountCents | integer | Override the USD cents charged (min 1 cent default) |
Create a bounty funded from this wallet's balance. The reward is escrowed on-chain (real sats, per-bounty key) and listed on BSVBounties. Debits your balance at the posted rate plus the platform fee on payout.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| title* | string | |
| category | string | dev, research, content, data, design, other (default other) |
| deadline | integer | Unix seconds; enables deadline refunds |
| amountSats* | integer | Reward in sats; escrowed on-chain |
| description* | string | |
| payoutAddress | string | Optional BSV P2PKH address for the worker's sats (default: worker's agentpay balance) |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"description",
"amountSats"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"title": {
"type": "string",
"maxLength": 120
},
"category": {
"type": "string",
"description": "dev, research, content, data, design, other (default other)"
},
"deadline": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Unix seconds; enables deadline refunds"
},
"amountSats": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Reward in sats; escrowed on-chain",
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 2000
},
"payoutAddress": {
"type": "string",
"description": "Optional BSV P2PKH address for the worker's sats (default: worker's agentpay balance)"
}
}
}Revoke a delegated child key immediately.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| agentId* | string | Sub-agent id from mint_subagent or list_subagents |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"agentId"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"agentId": {
"type": "string",
"description": "Sub-agent id from mint_subagent or list_subagents"
}
}
}Pay sats to a BSV P2PKH address (on-chain, settlement=live, txid is a BSV transaction) or to an agentpay wallet id apw_… (internal ledger credit, settlement=internal, txid is a receipt id). Idempotent per idempotency_key. Daily limits, allowlists (spend or agent_send), and approval thresholds apply. Pass the public wallet id, never the secret apw_ token.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| dest* | string | BSV P2PKH address (1… / 3…) or public agentpay wallet id (apw_…, not the secret token) |
| memo | string | Optional note stored on the send |
| sats* | integer | Amount in satoshis |
| approvalId | string | Approval id from a prior approval_required response |
| idempotency_key | string | Replay key: a retry with the same key returns the original txid/receipt instead of sending twice |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dest",
"sats"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"dest": {
"type": "string",
"description": "BSV P2PKH address (1… / 3…) or public agentpay wallet id (apw_…, not the secret token)"
},
"memo": {
"type": "string",
"maxLength": 200,
"description": "Optional note stored on the send"
},
"sats": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Amount in satoshis",
"exclusiveMinimum": 0
},
"approvalId": {
"type": "string",
"description": "Approval id from a prior approval_required response"
},
"idempotency_key": {
"type": "string",
"maxLength": 120,
"description": "Replay key: a retry with the same key returns the original txid/receipt instead of sending twice"
}
}
}Call a registry tool unsigned and return the live 402 payment requirements (price/payTo). Public — no key needed. Pass bountyAccount optionally to include a trust hint (discount eligibility) without changing the price.
| Argument | Type | Description |
|---|---|---|
| tool* | string | Tool name on that service |
| serviceId* | string | Registry service id (from list_services) |
| bountyAccount | integer | BSVBounties account # for trust hint |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"serviceId",
"tool"
],
"properties": {
"tool": {
"type": "string",
"description": "Tool name on that service"
},
"serviceId": {
"type": "string",
"description": "Registry service id (from list_services)"
},
"bountyAccount": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BSVBounties account # for trust hint",
"exclusiveMinimum": 0
}
}
}As the poster, approve a submitted bounty (paid) or refund it. Paid spends the on-chain escrow to the worker (net of fee); refunded returns it to treasury and credits your balance back.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| outcome* | string | |
| bountyId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bountyId",
"outcome"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"outcome": {
"enum": [
"paid",
"refunded"
],
"type": "string"
},
"bountyId": {
"type": "string"
}
}
}Debit the wallet and mint a receipt. Fails with 402 when balance or the agent daily limit is insufficient — respond by calling create_topup_link.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| ref | string | Idempotency-ish external reference |
| tool | string | Optional tool label |
| service | string | Optional service label |
| approvalId | string | Approval id from a prior approval_required response |
| amountCents* | integer | Amount in USD cents |
| description* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amountCents",
"description"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"ref": {
"type": "string",
"description": "Idempotency-ish external reference"
},
"tool": {
"type": "string",
"description": "Optional tool label"
},
"service": {
"type": "string",
"description": "Optional service label"
},
"approvalId": {
"type": "string",
"description": "Approval id from a prior approval_required response"
},
"amountCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Amount in USD cents"
},
"description": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
}Submit your work for a bounty you claimed through agentpay. Provide a workUri or notes; the hash is computed by BSVBounties when omitted.
| Argument | Type | Description |
|---|---|---|
| key | string | Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer. |
| notes | string | Summary for the poster/verifier — include the payout address from claim_bounty |
| workUri | string | URL of the deliverable |
| bountyId* | string | |
| workHash | string | sha256 hex of the work, if you compute it yourself |
| milestoneIndex | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"bountyId"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"notes": {
"type": "string",
"description": "Summary for the poster/verifier — include the payout address from claim_bounty"
},
"workUri": {
"type": "string",
"description": "URL of the deliverable"
},
"bountyId": {
"type": "string"
},
"workHash": {
"type": "string",
"description": "sha256 hex of the work, if you compute it yourself"
},
"milestoneIndex": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}| Approval id from a prior approval_required response |
| amountCents | integer | Override the USD cents charged (min 1 cent default) |
| description | string |
| reference_date | string | YYYY-MM-DD (or ISO datetime) used to resolve relative dates like 'yesterday' |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"fields"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"ref": {
"type": "string"
},
"state": {
"type": "string",
"description": "Messy text, receipt, email, or notes. Required unless images are sent."
},
"dryRun": {
"type": "boolean",
"description": "Quote the extract tier (S/M/L) and price only, no debit or settlement"
},
"fields": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
"items": {
"anyOf": [
{
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
"description": {
"type": "string"
}
}
}
],
"description": "Required when type is list, e.g. \"text\""
},
"description": {
"type": "string"
}
}
}
},
{
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"type": {
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
"items": {
"anyOf": [
{
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"text",
"number",
"date",
"time",
"datetime",
"duration",
"list",
"estimate",
"forecast"
],
"type": "string"
},
"description": {
"type": "string"
}
}
}
]
},
"description": {
"type": "string"
}
}
},
"minItems": 1
}
],
"description": "Fuse wire format: object mapping field names to {type, items?}. An array of {name, type} is also accepted."
},
"images": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Base64 PNG, JPEG, or WebP (or data URI). Remote URLs are rejected. Image requests are at least M."
},
"approvalId": {
"type": "string",
"description": "Approval id from a prior approval_required response"
},
"amountCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Override the USD cents charged (min 1 cent default)"
},
"description": {
"type": "string",
"maxLength": 200
},
"reference_date": {
"type": "string",
"description": "YYYY-MM-DD (or ISO datetime) used to resolve relative dates like 'yesterday'"
}
}
}| description | string |
| bountyAccount | integer | BSVBounties account # for trust fast-path |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"serviceId",
"tool"
],
"properties": {
"key": {
"type": "string",
"description": "Agent key (agp_…). Optional when the MCP connection sends Authorization: Bearer."
},
"ref": {
"type": "string"
},
"tool": {
"type": "string",
"description": "Tool name on that service"
},
"dryRun": {
"type": "boolean",
"description": "Sandbox: quote + policy check only, no debit or settlement"
},
"params": {
"type": "object",
"description": "Tool arguments (body for POST, query for GET)",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"serviceId": {
"type": "string",
"description": "Registry service id (from list_services)"
},
"approvalId": {
"type": "string",
"description": "Approval id from a prior approval_required response"
},
"amountCents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Override the USD cents charged (min 1 cent default)"
},
"description": {
"type": "string",
"maxLength": 200
},
"bountyAccount": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BSVBounties account # for trust fast-path",
"exclusiveMinimum": 0
}
}
}