Back to agent-vending-factory
Card snapshot
agent-vending-factory-3srpjtr7na-ew.a.run.app
·
2026-05-18 14:19:41 UTC
·
2a9b68bb209d55fe52f79f350e4db08c517051dcbb0616245ddbbb6cb07b711e
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "agent-vending-factory",
"description": "Modular MCP server exposing stateless tools and reasoning agents. All endpoints are pay-per-call via x402 USDC micropayments on Base. Query /catalog for machine-readable pricing and input schemas.",
"version": "0.1.0",
"url": "https://agent-vending-factory-3srpjtr7na-ew.a.run.app",
"api": {
"type": "a2a",
"url": "https://agent-vending-factory-3srpjtr7na-ew.a.run.app",
"version": "0.1"
},
"auth": {
"type": "x402",
"description": "USDC micropayments on Base Mainnet (eip155:8453) via x402 protocol"
},
"skills": [
{
"id": "agent_example",
"name": "agent_example",
"description": "POST /agents/agent_example/run \u2014 Single-turn Claude Sonnet inference endpoint. Input: {question: string, max_tokens: integer (default 1024)}. Output: {success, answer, usage: {input_tokens, output_tokens}, error}. No tool use or agentic loop \u2014 direct model call. Use for QA, summarisation, or classification tasks. Cost: $0.0100 USDC per call.",
"tags": [
"agent",
"reasoning",
"claude",
"llm",
"qa",
"inference"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.01,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.01
}
},
{
"id": "tool_example",
"name": "tool_example",
"description": "POST /tools/tool_example/run \u2014 Stateless text utility for testing x402 payment flows. Input: {text: string}. Output: {original, uppercase, word_count, char_count}. Cost: $0.0010 USDC per call.",
"tags": [
"example",
"template",
"demo",
"text"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.001,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.001
}
},
{
"id": "tool_zar_prices",
"name": "tool_zar_prices",
"description": "POST /tools/zar-prices/run \u2014 Returns live bid/ask/last prices for crypto/ZAR pairs. Input: {pair: 'BTC/ZAR'|'ETH/ZAR'|'SOL/ZAR'|'USDC/ZAR'|'all'}. Output: array of {exchange, pair, price, bid, ask, timestamp} objects. Sources: VALR (all 4 pairs), Luno (BTC/ZAR + ETH/ZAR only). SOL/ZAR and USDC/ZAR are VALR-only. Fetches all exchanges concurrently. Timestamps are ISO-8601 UTC. Cost: $0.0050 USDC per call.",
"tags": [
"finance",
"crypto",
"south-africa",
"ZAR",
"exchange-rates",
"realtime",
"VALR",
"Luno"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.005,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.005
}
},
{
"id": "tool_data_transformer",
"name": "tool_data_transformer",
"description": "POST /tools/tool_data_transformer/run \u2014 Extracts structured JSON from raw text using a caller-supplied JSON Schema. Input: {raw_text: string, target_json_schema: object (JSON Schema draft-07)}. Output: {success, extracted_data, extraction_method, validation_passed, error}. extraction_method is one of: 'direct_parse', 'embedded_json', 'regex_extraction'. No LLM involved \u2014 pure parsing pipeline. Type coercion applied for integer/number/boolean fields. Works best with flat schemas; deeply nested structures extract less reliably via key-value pass. Cost: $0.0500 USDC per call.",
"tags": [
"data",
"extraction",
"json",
"parsing",
"etl",
"schema",
"structured-data",
"no-llm"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.05,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.05
}
},
{
"id": "tool_compute_sandbox",
"name": "tool_compute_sandbox",
"description": "POST /tools/tool_compute_sandbox/run \u2014 Executes Python 3.12 code in an isolated subprocess with a 5-second hard timeout. Input: {python_code: string, input_data: any (optional, bound as variable 'input_data')}. Output: {success, result, stdout (capped 50KB), execution_time_ms, error_type}. Return value: assign to 'result' variable. Pre-loaded: math, json, re, statistics, itertools, functools, collections, decimal, datetime, random, hashlib, base64. Blocked: import, open(), eval(), exec(), os, sys, network, class definitions, dunder attributes. error_type values: syntax_error | security_error | runtime_error | timeout_error. Cost: $0.1500 USDC per call.",
"tags": [
"compute",
"python",
"sandbox",
"execution",
"code-runner",
"math",
"safe",
"isolated"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.15,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.15
}
},
{
"id": "tool_sa_airport_oracle",
"name": "tool_sa_airport_oracle",
"description": "POST /tools/sa-airport-oracle/run \u2014 Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, request_type: 'arrival'|'departure'}. Output: {success, live_status, scheduled_time, estimated_time, actual_time, gate, carousel, terminal, flight_number, airport_code, request_type, error}. Coverage: JNB (O.R. Tambo), CPT (Cape Town Int'l), DUR (King Shaka). Data window: flights within 48 hours. Call GET /tools/sa-airport-oracle/health (free) first \u2014 if structure_valid=false, do not proceed. error_type values: 'stale_data' (do not retry), 'not found' (retry after 10-15 min), network error (retry once). flight_number is case-insensitive and normalised to uppercase internally. Read-only \u2014 no booking/ticketing. Cost: $0.1200 USDC per call.",
"tags": [
"flights",
"south-africa",
"africa",
"realtime",
"airport",
"JNB",
"CPT",
"DUR",
"travel"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"price_usdc": 0.12,
"payment": {
"scheme": "x402",
"network": "eip155:8453",
"price_usdc": 0.12
}
}
]
}