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
      }
    }
  ]
}