{"tools":[{"name":"get_balance","service":"billing","description":"Get the current wallet balance for an agent in a specific currency.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"balance":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_usage_summary","service":"billing","description":"Get usage summary (total cost, calls, tokens) for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"since":{"type":"number","description":"Unix timestamp to query from (optional)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"total_cost":{"type":"number"},"total_calls":{"type":"integer"},"total_tokens":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"deposit","service":"billing","description":"Deposit funds into an agent's wallet in a specific currency.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"amount":{"type":"number","description":"Amount to deposit"},"description":{"type":"string","description":"Optional description"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"},"idempotency_key":{"type":"string","description":"Optional unique key to prevent duplicate deposits. If a deposit with this key already exists, the cached result is returned."}},"required":["agent_id","amount"]},"output_schema":{"type":"object","properties":{"new_balance":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_transactions","service":"billing","description":"Get the transaction ledger for an agent (deposits, withdrawals, charges).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"limit":{"type":"integer","default":100,"description":"Maximum number of transactions to return"},"offset":{"type":"integer","default":0,"description":"Offset for pagination"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"transactions":{"type":"array","items":{"type":"object","properties":{"tx_type":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"},"created_at":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"create_intent","service":"payments","description":"Create a payment intent between two agents.","input_schema":{"type":"object","properties":{"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"},"idempotency_key":{"type":"string"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"}},"required":["payer","payee","amount"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"}}},"pricing":{"model":"percentage","percentage":2.0,"min_fee":0.01,"max_fee":5.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"get_intent","service":"payments","description":"Get details of a payment intent by its ID.","input_schema":{"type":"object","properties":{"intent_id":{"type":"string","description":"The payment intent ID"}},"required":["intent_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_escrow","service":"payments","description":"Get details of an escrow by its ID.","input_schema":{"type":"object","properties":{"escrow_id":{"type":"string","description":"The escrow ID"}},"required":["escrow_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"capture_intent","service":"payments","description":"Capture (settle) a pending payment intent.","input_schema":{"type":"object","properties":{"intent_id":{"type":"string"}},"required":["intent_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"partial_capture","service":"payments","description":"Partially capture a pending payment intent for a specified amount.","input_schema":{"type":"object","properties":{"intent_id":{"type":"string","description":"The payment intent ID to partially capture"},"amount":{"type":"number","description":"Amount to capture (must be <= intent amount)"},"idempotency_key":{"type":"string","description":"Optional idempotency key to prevent duplicate captures"}},"required":["intent_id","amount"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"},"remaining_amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"create_escrow","service":"payments","description":"Create an escrow between two agents. Funds are held from payer immediately.","input_schema":{"type":"object","properties":{"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"},"timeout_hours":{"type":"number"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"},"idempotency_key":{"type":"string","description":"Unique key for idempotent creation. Same key returns same escrow."}},"required":["payer","payee","amount"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"},"currency":{"type":"string"}}},"pricing":{"model":"percentage","percentage":1.5,"min_fee":0.01,"max_fee":10.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"release_escrow","service":"payments","description":"Release escrowed funds to the payee.","input_schema":{"type":"object","properties":{"escrow_id":{"type":"string"}},"required":["escrow_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"cancel_escrow","service":"payments","description":"Cancel a held escrow and refund the payer.","input_schema":{"type":"object","properties":{"escrow_id":{"type":"string","description":"The escrow identifier to cancel"}},"required":["escrow_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"list_intents","service":"payments","description":"List payment intents for an agent, optionally filtered by status.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent to list intents for (as payer or payee)"},"status":{"type":"string","description":"Filter by status (pending, captured, voided, refunded)","enum":["pending","captured","voided","refunded"]},"limit":{"type":"integer","description":"Max intents to return (default 50)"},"offset":{"type":"integer","description":"Offset for pagination (default 0)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"intents":{"type":"array"},"count":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"list_escrows","service":"payments","description":"List escrows for an agent, optionally filtered by status.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent to list escrows for (as payer or payee)"},"status":{"type":"string","description":"Filter by status (held, released, refunded, expired)","enum":["held","released","refunded","expired"]},"limit":{"type":"integer","description":"Max escrows to return (default 50)"},"offset":{"type":"integer","description":"Offset for pagination (default 0)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"escrows":{"type":"array"},"count":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"refund_intent","service":"payments","description":"Refund a payment intent: voids if pending, reverse-transfers if settled.","input_schema":{"type":"object","properties":{"intent_id":{"type":"string","description":"The intent identifier to refund"}},"required":["intent_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"refund_settlement","service":"payments","description":"Refund a settled payment (full or partial). If amount is omitted, refunds the full remaining balance.","input_schema":{"type":"object","properties":{"settlement_id":{"type":"string","description":"The settlement identifier to refund"},"amount":{"type":"number","description":"Amount to refund. If omitted, refunds the full remaining balance."},"reason":{"type":"string","description":"Optional reason for the refund"},"idempotency_key":{"type":"string","description":"Optional unique key to prevent duplicate refunds."}},"required":["settlement_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"settlement_id":{"type":"string"},"amount":{"type":"number"},"reason":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"starter"},{"name":"search_services","service":"marketplace","description":"Search the marketplace for available services. Supports pagination via paginate=true.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"category":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"max_cost":{"type":"number"},"limit":{"type":"integer","default":20,"description":"Maximum number of results to return"},"offset":{"type":"integer","default":0,"description":"Offset for pagination"},"paginate":{"type":"boolean","default":false,"description":"When true, returns paginated envelope {items, total, offset, limit, has_more}"}}},"output_schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"pricing":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"search_agents","service":"marketplace","description":"Search for agents by capability keywords. Searches service names, descriptions, tools, tags, and categories. Supports pagination via paginate=true.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search keyword for capabilities"},"limit":{"type":"integer","default":20,"description":"Maximum number of results to return"},"offset":{"type":"integer","default":0,"description":"Offset for pagination"},"paginate":{"type":"boolean","default":false,"description":"When true, returns paginated envelope {items, total, offset, limit, has_more}"}},"required":["query"]},"output_schema":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"agent_id":{"type":"string"},"services":{"type":"array"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"best_match","service":"marketplace","description":"Find the best matching services for a query with ranking.","input_schema":{"type":"object","properties":{"query":{"type":"string"},"budget":{"type":"number"},"min_trust_score":{"type":"number"},"prefer":{"type":"string","enum":["cost","trust","latency"]},"limit":{"type":"integer","default":5}},"required":["query"]},"output_schema":{"type":"array","items":{"type":"object","properties":{"service":{"type":"object"},"rank_score":{"type":"number"},"match_reasons":{"type":"array","items":{"type":"string"}}}}},"pricing":{"per_call":0.1},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"register_service","service":"marketplace","description":"Register a new service in the marketplace.","input_schema":{"type":"object","properties":{"provider_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"tools":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"endpoint":{"type":"string"},"pricing":{"type":"object","properties":{"model":{"type":"string"},"cost":{"type":"number"}}}},"required":["provider_id","name","description","category"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"get_service","service":"marketplace","description":"Get a marketplace service by its ID.","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service identifier"}},"required":["service_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"update_service","service":"marketplace","description":"Update fields on an existing marketplace service.","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service identifier to update"},"name":{"type":"string","description":"New service name"},"description":{"type":"string","description":"New service description"},"category":{"type":"string","description":"New category"},"tags":{"type":"array","items":{"type":"string"},"description":"New tags list"},"endpoint":{"type":"string","description":"New endpoint URL"},"metadata":{"type":"object","description":"Arbitrary metadata"}},"required":["service_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"deactivate_service","service":"marketplace","description":"Deactivate a marketplace service listing.","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service identifier to deactivate"}},"required":["service_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_trust_score","service":"trust","description":"Get the trust score for a server.","input_schema":{"type":"object","properties":{"server_id":{"type":"string","description":"The server identifier. Alias: agent_id"},"window":{"type":"string","enum":["24h","7d","30d"],"default":"24h"},"recompute":{"type":"boolean","default":false},"agent_id":{"type":"string","description":"Alias for server_id (preferred). Supply either agent_id or server_id."}}},"output_schema":{"type":"object","properties":{"server_id":{"type":"string"},"composite_score":{"type":"number"},"reliability_score":{"type":"number"},"security_score":{"type":"number"},"confidence":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"search_servers","service":"trust","description":"Search for servers by name or minimum trust score.","input_schema":{"type":"object","properties":{"name_contains":{"type":"string"},"min_score":{"type":"number"},"limit":{"type":"integer","default":100},"offset":{"type":"integer","default":0,"description":"Offset for pagination"}}},"output_schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_payment_history","service":"payments","description":"Get payment history for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"limit":{"type":"integer","default":100},"offset":{"type":"integer","default":0}},"required":["agent_id"]},"output_schema":{"type":"array","items":{"type":"object"}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"register_server","service":"trust","description":"Register a new server for trust tracking.","input_schema":{"type":"object","properties":{"name":{"type":"string","description":"Human-readable server name."},"url":{"type":"string","description":"Server endpoint URL."},"transport_type":{"type":"string","description":"Transport protocol (http or stdio). Default: http."},"server_id":{"type":"string","description":"Optional custom server ID; auto-generated if not provided."}},"required":["name","url"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"transport_type":{"type":"string"}}},"pricing":{"model":"flat","per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"delete_server","service":"trust","description":"Delete a server and all its associated trust data (probes, scans, scores).","input_schema":{"type":"object","properties":{"server_id":{"type":"string","description":"The server identifier to delete. Alias: agent_id"},"agent_id":{"type":"string","description":"Alias for server_id (preferred). Supply either agent_id or server_id."}}},"output_schema":{"type":"object","properties":{"deleted":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"update_server","service":"trust","description":"Update a server's name and/or URL.","input_schema":{"type":"object","properties":{"server_id":{"type":"string","description":"The server identifier to update. Alias: agent_id"},"name":{"type":"string","description":"New server name (optional)"},"url":{"type":"string","description":"New server URL (optional)"},"agent_id":{"type":"string","description":"Alias for server_id (preferred). Supply either agent_id or server_id."}}},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"},"transport_type":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"get_global_audit_log","service":"paywall","description":"Get the global audit log across all agents (admin operation).","input_schema":{"type":"object","properties":{"since":{"type":"number","description":"Unix timestamp to query from (optional)"},"limit":{"type":"integer","default":100,"description":"Maximum number of entries"}}},"output_schema":{"type":"object","properties":{"entries":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"publish_event","service":"events","description":"Publish an event to the cross-product event bus.","input_schema":{"type":"object","properties":{"event_type":{"type":"string","description":"Dot-separated event type (e.g. trust.score_drop)"},"source":{"type":"string","description":"Product that originated the event"},"payload":{"type":"object","description":"Arbitrary event payload"}},"required":["event_type","source"]},"output_schema":{"type":"object","properties":{"event_id":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_events","service":"events","description":"Query events from the event bus with optional type filter and offset.","input_schema":{"type":"object","properties":{"event_type":{"type":"string","description":"Filter by event type (optional)"},"since_id":{"type":"integer","description":"Return events after this ID (default 0)","default":0},"limit":{"type":"integer","description":"Maximum events to return","default":100}}},"output_schema":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"event_type":{"type":"string"},"source":{"type":"string"},"payload":{"type":"object"},"integrity_hash":{"type":"string"},"created_at":{"type":"string"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"register_webhook","service":"webhooks","description":"Register a webhook endpoint to receive event notifications.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent registering the webhook"},"url":{"type":"string","description":"The URL to receive webhook POST requests"},"event_types":{"type":"array","items":{"type":"string"},"description":"Event types to subscribe to (e.g. billing.deposit)"},"secret":{"type":"string","description":"Shared secret for HMAC-SHA3 signature verification"},"filter_agent_ids":{"type":"array","items":{"type":"string"},"description":"Optional list of agent_ids to filter events. When set, only events whose agent_id/payer/payee/sender/recipient matches an entry in this list will be delivered. When null or empty, all matching events are delivered."}},"required":["agent_id","url","event_types"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"agent_id":{"type":"string"},"url":{"type":"string"},"event_types":{"type":"array","items":{"type":"string"}},"filter_agent_ids":{"type":"array","items":{"type":"string"},"description":"The configured agent_id filter, or null if not set"},"created_at":{"type":"number"},"active":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"list_webhooks","service":"webhooks","description":"List all registered webhooks for an agent. Supports pagination via paginate=true.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose webhooks to list"},"offset":{"type":"integer","default":0,"description":"Offset for pagination (used with paginate=true)"},"limit":{"type":"integer","default":50,"description":"Maximum number of items to return (used with paginate=true)"},"paginate":{"type":"boolean","default":false,"description":"When true, returns paginated envelope {items, total, offset, limit, has_more}"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"webhooks":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"pro"},{"name":"delete_webhook","service":"webhooks","description":"Delete (deactivate) a webhook by its ID.","input_schema":{"type":"object","properties":{"webhook_id":{"type":"string","description":"The webhook ID to delete"}},"required":["webhook_id"]},"output_schema":{"type":"object","properties":{"deleted":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"pro"},{"name":"get_webhook_deliveries","service":"webhooks","description":"Get delivery history for a webhook endpoint.","input_schema":{"type":"object","properties":{"webhook_id":{"type":"string","description":"The webhook ID to query deliveries for"},"limit":{"type":"integer","default":50,"description":"Maximum number of deliveries to return"},"offset":{"type":"integer","default":0,"description":"Offset for pagination"}},"required":["webhook_id"]},"output_schema":{"type":"object","properties":{"deliveries":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"process_due_subscriptions","service":"payments","description":"Trigger processing of all due subscriptions and expired escrows.","input_schema":{"type":"object","properties":{}},"output_schema":{"type":"object","properties":{"processed":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"suspended":{"type":"integer"},"expired_escrows":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"register_agent","service":"identity","description":"Register a cryptographic identity for an agent. Generates Ed25519 keypair.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"Unique agent identifier"},"public_key":{"type":"string","description":"Optional Ed25519 public key hex. Auto-generated if omitted."}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"public_key":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"verify_agent","service":"identity","description":"Verify that a message was signed by the claimed agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent who claims to have signed"},"message":{"type":"string","description":"The original message (string)"},"signature":{"type":"string","description":"Ed25519 signature hex"}},"required":["agent_id","message","signature"]},"output_schema":{"type":"object","properties":{"valid":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"submit_metrics","service":"identity","description":"Submit trading bot metrics (Sharpe, drawdown, latency, etc.) for platform attestation.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent submitting metrics"},"metrics":{"type":"object","description":"Dict of metric_name -> value (e.g. {\"sharpe_30d\": 2.35})"},"data_source":{"type":"string","description":"One of: self_reported, exchange_api, platform_verified","default":"self_reported"}},"required":["agent_id","metrics"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"commitment_hashes":{"type":"array","items":{"type":"string"}},"verified_at":{"type":"number"},"valid_until":{"type":"number"},"data_source":{"type":"string"},"signature":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"get_agent_identity","service":"identity","description":"Get the cryptographic identity and public key for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"public_key":{"type":"string"},"created_at":{"type":"number"},"org_id":{"type":"string"},"found":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_verified_claims","service":"identity","description":"Get all verified metric claims for an agent (e.g., Sharpe >= 2.0).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"claims":{"type":"array","items":{"type":"object","properties":{"agent_id":{"type":"string"},"metric_name":{"type":"string"},"claim_type":{"type":"string"},"bound_value":{"type":"number"},"valid_until":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_agent_reputation","service":"identity","description":"Get the consumer-side reputation score for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"payment_reliability":{"type":"number"},"dispute_rate":{"type":"number"},"transaction_volume_score":{"type":"number"},"composite_score":{"type":"number"},"confidence":{"type":"number"},"found":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"create_subscription","service":"payments","description":"Create a recurring payment subscription between two agents.","input_schema":{"type":"object","properties":{"payer":{"type":"string","description":"Agent paying the subscription"},"payee":{"type":"string","description":"Agent receiving payments"},"amount":{"type":"number","description":"Amount per interval"},"interval":{"type":"string","enum":["hourly","daily","weekly","monthly"]},"description":{"type":"string"},"idempotency_key":{"type":"string","description":"Unique key for idempotent creation. Same key returns same subscription."},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"}},"required":["payer","payee","amount","interval"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"},"interval":{"type":"string"},"next_charge_at":{"type":"number"},"currency":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"starter"},{"name":"cancel_subscription","service":"payments","description":"Cancel an active or suspended subscription.","input_schema":{"type":"object","properties":{"subscription_id":{"type":"string"},"cancelled_by":{"type":"string","description":"Agent requesting cancellation"}},"required":["subscription_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"starter"},{"name":"get_subscription","service":"payments","description":"Get details of a subscription by ID.","input_schema":{"type":"object","properties":{"subscription_id":{"type":"string"}},"required":["subscription_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"interval":{"type":"string"},"status":{"type":"string"},"next_charge_at":{"type":"number"},"charge_count":{"type":"integer"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"starter"},{"name":"list_subscriptions","service":"payments","description":"List subscriptions for an agent (as payer or payee).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"Filter by agent (payer or payee)"},"status":{"type":"string","description":"Filter by status (active, cancelled, suspended)"},"limit":{"type":"integer","default":100},"offset":{"type":"integer","default":0}}},"output_schema":{"type":"object","properties":{"subscriptions":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"starter"},{"name":"reactivate_subscription","service":"payments","description":"Reactivate a suspended subscription.","input_schema":{"type":"object","properties":{"subscription_id":{"type":"string"},"idempotency_key":{"type":"string","description":"Optional idempotency key to prevent duplicate reactivations"}},"required":["subscription_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"starter"},{"name":"create_wallet","service":"billing","description":"Create a new wallet for an agent (self-service onboarding).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"Agent identifier for the new wallet"},"initial_balance":{"type":"number","description":"Starting balance (default 0)","default":0}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"balance":{"type":"number"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"withdraw","service":"billing","description":"Withdraw funds from an agent's wallet in a specific currency.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"amount":{"type":"number","description":"Amount to withdraw"},"description":{"type":"string","description":"Reason for withdrawal"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"},"idempotency_key":{"type":"string","description":"Optional unique key to prevent duplicate withdrawals. If a withdrawal with this key already exists, the cached result is returned."}},"required":["agent_id","amount"]},"output_schema":{"type":"object","properties":{"new_balance":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"search_agents_by_metrics","service":"identity","description":"Search for agents with verified metric claims (e.g., find bots with Sharpe >= 2.0).","input_schema":{"type":"object","properties":{"metric_name":{"type":"string","description":"Metric to search (sharpe_30d, max_drawdown_30d, etc.)"},"min_value":{"type":"number","description":"Minimum bound value (for higher-is-better metrics)"},"max_value":{"type":"number","description":"Maximum bound value (for lower-is-better metrics)"},"limit":{"type":"integer","default":50}},"required":["metric_name"]},"output_schema":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"agent_id":{"type":"string"},"metric_name":{"type":"string"},"claim_type":{"type":"string"},"bound_value":{"type":"number"},"valid_until":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"create_performance_escrow","service":"payments","description":"Create an escrow that auto-releases when payee's verified metrics meet a threshold.","input_schema":{"type":"object","properties":{"payer":{"type":"string"},"payee":{"type":"string"},"amount":{"type":"number"},"metric_name":{"type":"string","description":"Metric to gate on (e.g. sharpe_30d)"},"threshold":{"type":"number","description":"Value the metric must meet"},"description":{"type":"string"},"idempotency_key":{"type":"string","description":"Optional unique key to prevent duplicate escrow creation."}},"required":["payer","payee","amount","metric_name","threshold"]},"output_schema":{"type":"object","properties":{"escrow_id":{"type":"string"},"status":{"type":"string"},"amount":{"type":"number"},"metric_name":{"type":"string"},"threshold":{"type":"number"}}},"pricing":{"model":"percentage","percentage":1.5,"min_fee":0.01,"max_fee":10.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"check_performance_escrow","service":"payments","description":"Check if a performance-gated escrow's metric threshold is met and auto-release if so.","input_schema":{"type":"object","properties":{"escrow_id":{"type":"string"}},"required":["escrow_id"]},"output_schema":{"type":"object","properties":{"released":{"type":"boolean"},"settlement_id":{"type":"string"},"reason":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"open_dispute","service":"disputes","description":"Open a dispute against an escrow.","input_schema":{"type":"object","properties":{"escrow_id":{"type":"string"},"opener":{"type":"string","description":"Agent opening the dispute"},"reason":{"type":"string"}},"required":["escrow_id","opener"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"escrow_id":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"respond_to_dispute","service":"disputes","description":"Respond to an open dispute.","input_schema":{"type":"object","properties":{"dispute_id":{"type":"string"},"respondent":{"type":"string"},"response":{"type":"string"}},"required":["dispute_id","respondent","response"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"resolve_dispute","service":"disputes","description":"Resolve a dispute by refunding payer or releasing funds to payee.","input_schema":{"type":"object","properties":{"dispute_id":{"type":"string"},"resolution":{"type":"string","enum":["refund","release"]},"resolved_by":{"type":"string"},"notes":{"type":"string"}},"required":["dispute_id","resolution","resolved_by"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"resolution":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"get_dispute","service":"disputes","description":"Get details of a dispute by its ID.","input_schema":{"type":"object","properties":{"dispute_id":{"type":"string","description":"The dispute ID to look up"}},"required":["dispute_id"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"escrow_id":{"type":"string"},"opener":{"type":"string"},"respondent":{"type":"string"},"status":{"type":"string"},"reason":{"type":"string"},"resolution":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"list_disputes","service":"disputes","description":"List disputes where the agent is opener or respondent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent to list disputes for"},"limit":{"type":"integer","default":50,"description":"Maximum number of disputes to return"},"offset":{"type":"integer","default":0,"description":"Offset for pagination"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"disputes":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"rotate_key","service":"paywall","description":"Rotate an API key: revoke the current key and create a new one with the same tier.","input_schema":{"type":"object","properties":{"current_key":{"type":"string","description":"The API key to rotate"}},"required":["current_key"]},"output_schema":{"type":"object","properties":{"new_key":{"type":"string"},"tier":{"type":"string"},"agent_id":{"type":"string"},"revoked":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free","rate_limit_per_hour":10},{"name":"build_claim_chain","service":"identity","description":"Build a Merkle tree from an agent's attestation history for verifiable claim chains.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"merkle_root":{"type":"string"},"leaf_count":{"type":"integer"},"period_start":{"type":"number"},"period_end":{"type":"number"},"chain_id":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"get_claim_chains","service":"identity","description":"Get stored Merkle claim chains for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"limit":{"type":"integer","default":10}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"chains":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"send_message","service":"messaging","description":"Send a typed message to another agent.","input_schema":{"type":"object","properties":{"sender":{"type":"string"},"recipient":{"type":"string"},"message_type":{"type":"string","enum":["text","price_negotiation","task_specification","counter_offer","accept","reject"]},"subject":{"type":"string"},"body":{"type":"string"},"thread_id":{"type":"string"}},"required":["sender","recipient","message_type"]},"output_schema":{"type":"object","properties":{"id":{"type":"string"},"sender":{"type":"string"},"recipient":{"type":"string"},"thread_id":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_messages","service":"messaging","description":"Get messages for an agent (sent and received).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"thread_id":{"type":"string"},"limit":{"type":"integer","default":50},"offset":{"type":"integer","default":0,"description":"Offset for pagination"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"negotiate_price","service":"messaging","description":"Start a price negotiation with another agent.","input_schema":{"type":"object","properties":{"initiator":{"type":"string"},"responder":{"type":"string"},"amount":{"type":"number"},"service_id":{"type":"string"},"expires_hours":{"type":"number","default":24}},"required":["initiator","responder","amount"]},"output_schema":{"type":"object","properties":{"negotiation_id":{"type":"string"},"thread_id":{"type":"string"},"status":{"type":"string"},"proposed_amount":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"check_sla_compliance","service":"trust","description":"Check if a server meets its claimed SLA using trust probe data.","input_schema":{"type":"object","properties":{"server_id":{"type":"string","description":"The server identifier. Alias: agent_id"},"claimed_uptime":{"type":"number","description":"Claimed uptime percentage (e.g. 99.5)"},"agent_id":{"type":"string","description":"Alias for server_id (preferred). Supply either agent_id or server_id."}}},"output_schema":{"type":"object","properties":{"compliant":{"type":"boolean"},"actual_uptime":{"type":"number"},"violation_pct":{"type":"number"},"confidence":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"pro"},{"name":"list_strategies","service":"marketplace","description":"List signal provider strategies in the marketplace.","input_schema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}},"max_cost":{"type":"number"},"min_trust_score":{"type":"number"},"limit":{"type":"integer","default":50}}},"output_schema":{"type":"object","properties":{"strategies":{"type":"array","items":{"type":"object"}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_service_analytics","service":"billing","description":"Get usage analytics for an agent (total calls, cost, tokens).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"since":{"type":"number","description":"Unix timestamp to query from"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"total_calls":{"type":"integer"},"total_cost":{"type":"number"},"total_tokens":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_revenue_report","service":"billing","description":"Get revenue report for a provider agent (incoming payments).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"limit":{"type":"integer","default":50}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"total_revenue":{"type":"number"},"payment_count":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"create_split_intent","service":"payments","description":"Create a split payment across multiple payees with percentage-based distribution.","input_schema":{"type":"object","properties":{"payer":{"type":"string"},"amount":{"type":"number"},"splits":{"type":"array","items":{"type":"object","properties":{"payee":{"type":"string"},"percentage":{"type":"number"}},"required":["payee","percentage"]}},"description":{"type":"string"},"currency":{"type":"string","description":"Currency code (default: CREDITS). One of: CREDITS, USD, EUR, GBP, BTC, ETH","default":"CREDITS"}},"required":["payer","amount","splits"]},"output_schema":{"type":"object","properties":{"status":{"type":"string"},"currency":{"type":"string"},"settlements":{"type":"array","items":{"type":"object"}}}},"pricing":{"model":"percentage","percentage":2.0,"min_fee":0.01,"max_fee":5.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"backup_database","service":"admin","description":"Create a hot backup of a SQLite database, optionally encrypted with Fernet.","input_schema":{"type":"object","properties":{"database":{"type":"string","description":"Logical database name (billing, payments, etc.)"},"encrypt":{"type":"boolean","description":"Whether to encrypt the backup"}},"required":["database"]},"output_schema":{"type":"object","properties":{"filename":{"type":"string","description":"Basename of the backup file inside the managed backups directory"},"database":{"type":"string","description":"Logical database name that was backed up"},"size_bytes":{"type":"integer"},"created_at":{"type":"string"},"key_id":{"type":"string","description":"Identifier for the server-stored encryption key (use with restore_database)"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"restore_database","service":"admin","description":"Restore a SQLite database from a backup file, with optional decryption.","input_schema":{"type":"object","properties":{"database":{"type":"string","description":"Logical database name to restore into"},"filename":{"type":"string","description":"Basename of the backup file inside the managed backups directory (preferred — from list_backups / backup_database)"},"backup_path":{"type":"string","description":"Legacy: absolute path to the backup file (use 'filename' instead)"},"key":{"type":"string","description":"Decryption key if backup is encrypted"},"key_id":{"type":"string","description":"Key ID from backup_database (retrieves server-stored key)"}},"required":["database"]},"output_schema":{"type":"object","properties":{"filename":{"type":"string"},"database":{"type":"string"},"size_bytes":{"type":"integer"},"restored_at":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"check_db_integrity","service":"admin","description":"Run SQLite integrity check and return page diagnostics for a database.","input_schema":{"type":"object","properties":{"database":{"type":"string","description":"Logical database name to check"}},"required":["database"]},"output_schema":{"type":"object","properties":{"ok":{"type":"boolean"},"details":{"type":"string"},"page_count":{"type":"integer"},"freelist_count":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":2000},"tier_required":"pro"},{"name":"list_backups","service":"admin","description":"List all available database backup files.","input_schema":{"type":"object","properties":{}},"output_schema":{"type":"object","properties":{"backups":{"type":"array","items":{"type":"object","properties":{"filename":{"type":"string"},"size_bytes":{"type":"integer"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"stripe_list_customers","description":"List Stripe customers.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10}},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_customer","description":"Create a Stripe customer.","input_schema":{"type":"object","properties":{"email":{"type":"string"},"name":{"type":"string"}},"required":["email"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_list_products","description":"List Stripe products.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10}},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_product","description":"Create a Stripe product.","input_schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_list_prices","description":"List Stripe prices.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10}},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_price","description":"Create a Stripe price.","input_schema":{"type":"object","properties":{"product":{"type":"string"},"unit_amount":{"type":"integer"},"currency":{"type":"string","default":"usd"}},"required":["product","unit_amount"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_payment_link","description":"Create a Stripe payment link.","input_schema":{"type":"object","properties":{"price":{"type":"string"},"quantity":{"type":"integer","default":1}},"required":["price"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_list_invoices","description":"List Stripe invoices.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10}},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_invoice","description":"Create a Stripe invoice.","input_schema":{"type":"object","properties":{"customer":{"type":"string"}},"required":["customer"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_list_subscriptions","description":"List Stripe subscriptions.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10}},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_cancel_subscription","description":"Cancel a Stripe subscription.","input_schema":{"type":"object","properties":{"subscription_id":{"type":"string"}},"required":["subscription_id"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_create_refund","description":"Create a Stripe refund.","input_schema":{"type":"object","properties":{"payment_intent":{"type":"string"},"amount":{"type":"integer"}},"required":["payment_intent"]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"stripe_retrieve_balance","description":"Retrieve Stripe account balance.","input_schema":{"type":"object","properties":{},"required":[]},"service":"stripe","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_list_repos","description":"List GitHub repositories.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"type":{"type":"string","default":"all"}},"required":[]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_get_repo","description":"Get GitHub repository metadata.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"}},"required":["owner","repo"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_list_issues","description":"List issues in a repository.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"state":{"type":"string","default":"open"}},"required":["owner","repo"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_create_issue","description":"Create an issue in a repository.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"}},"required":["owner","repo","title"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_list_pull_requests","description":"List pull requests.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"state":{"type":"string","default":"open"}},"required":["owner","repo"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_get_pull_request","description":"Get pull request details.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"pull_number":{"type":"integer"}},"required":["owner","repo","pull_number"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_create_pull_request","description":"Create a pull request.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"title":{"type":"string"},"head":{"type":"string"},"base":{"type":"string"}},"required":["owner","repo","title","head","base"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_list_commits","description":"List commits in a repository.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"sha":{"type":"string"}},"required":["owner","repo"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_get_file_contents","description":"Get file contents from a repository.","input_schema":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"path":{"type":"string"},"ref":{"type":"string"}},"required":["owner","repo","path"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"github_search_code","description":"Search code across repositories.","input_schema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"]},"service":"github","output_schema":{"type":"object"},"pricing":{"per_call":0.005},"sla":{"max_latency_ms":5000},"tier_required":"pro"},{"name":"pg_query","description":"Execute a read-only SQL query.","input_schema":{"type":"object","properties":{"sql":{"type":"string"},"params":{"type":"array"}},"required":["sql"]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"pg_execute","description":"Execute a SQL statement (if write-enabled).","input_schema":{"type":"object","properties":{"sql":{"type":"string"},"params":{"type":"array"}},"required":["sql"]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"pg_list_tables","description":"List tables in the database.","input_schema":{"type":"object","properties":{"schema":{"type":"string","default":"public"}},"required":[]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"pg_describe_table","description":"Describe a table's columns and types.","input_schema":{"type":"object","properties":{"table":{"type":"string"},"schema":{"type":"string","default":"public"}},"required":["table"]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"pg_explain_query","description":"EXPLAIN a SQL query plan.","input_schema":{"type":"object","properties":{"sql":{"type":"string"}},"required":["sql"]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"pg_list_schemas","description":"List schemas in the database.","input_schema":{"type":"object","properties":{},"required":[]},"service":"postgres","output_schema":{"type":"object"},"pricing":{"per_call":0.01},"sla":{"max_latency_ms":3000},"tier_required":"pro"},{"name":"get_metrics_timeseries","service":"billing","description":"Get per-agent usage metrics bucketed by hour or day.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"interval":{"type":"string","enum":["hour","day"],"description":"Time bucket interval"},"since":{"type":"number","description":"Unix timestamp to query from (optional)"},"limit":{"type":"integer","default":24,"description":"Max number of buckets to return"}},"required":["agent_id","interval"]},"output_schema":{"type":"object","properties":{"buckets":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"number"},"calls":{"type":"integer"},"cost":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"get_agent_leaderboard","service":"billing","description":"Rank agents by total spend, calls, trust score, revenue, or rating.","input_schema":{"type":"object","properties":{"metric":{"type":"string","enum":["spend","calls","trust_score","revenue","rating"],"description":"Metric to rank by"},"limit":{"type":"integer","default":10,"description":"Max entries to return"}},"required":["metric"]},"output_schema":{"type":"object","properties":{"leaderboard":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"agent_id":{"type":"string"},"value":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"register_event_schema","service":"event_bus","description":"Register a JSON schema for an event type in the event bus.","input_schema":{"type":"object","properties":{"event_type":{"type":"string","description":"The event type identifier"},"schema":{"type":"object","description":"JSON schema object for the event payload"}},"required":["event_type","schema"]},"output_schema":{"type":"object","properties":{"event_type":{"type":"string"},"registered":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_event_schema","service":"event_bus","description":"Retrieve the registered JSON schema for an event type.","input_schema":{"type":"object","properties":{"event_type":{"type":"string","description":"The event type identifier"}},"required":["event_type"]},"output_schema":{"type":"object","properties":{"event_type":{"type":"string"},"schema":{"type":"object"},"found":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"test_webhook","service":"webhooks","description":"Send a test ping event to a registered webhook and return the delivery result.","input_schema":{"type":"object","properties":{"webhook_id":{"type":"string","description":"The webhook ID to send a test ping to"}},"required":["webhook_id"]},"output_schema":{"type":"object","properties":{"delivery_id":{"type":"integer"},"status":{"type":"string"},"response_code":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":10000},"tier_required":"free"},{"name":"create_api_key","service":"paywall","description":"Create a new API key for yourself (self-service). Only same-agent or admin can create.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"Agent to create the key for"},"tier":{"type":"string","description":"Tier for the new key (defaults to current tier)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"key":{"type":"string"},"agent_id":{"type":"string"},"tier":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free","rate_limit_per_hour":20},{"name":"get_volume_discount","service":"billing","description":"Calculate discounted price based on historical usage volume.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"tool_name":{"type":"string","description":"The tool to check volume discount for"},"quantity":{"type":"integer","description":"Number of calls to price"}},"required":["agent_id","tool_name","quantity"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"tool_name":{"type":"string"},"historical_calls":{"type":"integer"},"discount_pct":{"type":"number"},"unit_price":{"type":"number"},"discounted_price":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"estimate_cost","service":"billing","description":"Calculate projected cost of N calls to a specific tool without executing them.","input_schema":{"type":"object","properties":{"tool_name":{"type":"string","description":"The tool to estimate cost for"},"quantity":{"type":"integer","description":"Number of calls to estimate"},"agent_id":{"type":"string","description":"Optional agent ID for volume discount"}},"required":["tool_name","quantity"]},"output_schema":{"type":"object","properties":{"tool_name":{"type":"string"},"quantity":{"type":"integer"},"unit_price":{"type":"number"},"discount_pct":{"type":"number"},"total_cost":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"rate_service","service":"marketplace","description":"Rate a marketplace service (1-5). One rating per agent per service (upsert).","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service to rate"},"agent_id":{"type":"string","description":"The agent providing the rating"},"rating":{"type":"integer","description":"Rating from 1 to 5"},"review":{"type":"string","description":"Optional review text"}},"required":["service_id","agent_id","rating"]},"output_schema":{"type":"object","properties":{"service_id":{"type":"string"},"agent_id":{"type":"string"},"rating":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":300},"tier_required":"free"},{"name":"get_service_ratings","service":"marketplace","description":"Get ratings and reviews for a marketplace service.","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service to get ratings for"},"limit":{"type":"integer","description":"Maximum number of ratings to return (default 20)"}},"required":["service_id"]},"output_schema":{"type":"object","properties":{"average_rating":{"type":"number"},"count":{"type":"integer"},"ratings":{"type":"array"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"set_budget_cap","service":"billing","description":"Set daily/monthly spending caps and alert thresholds for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent to set caps for"},"daily_cap":{"type":"number","description":"Daily spending cap in credits"},"monthly_cap":{"type":"number","description":"Monthly spending cap in credits"},"alert_threshold":{"type":"number","description":"Fraction (0-1) at which to trigger alert (default 0.8)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"daily_cap":{"type":"number"},"monthly_cap":{"type":"number"},"alert_threshold":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_budget_status","service":"billing","description":"Get current spending vs budget caps and alert status for an agent.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent to check budget status for"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"daily_spend":{"type":"number"},"daily_cap":{"type":"number"},"daily_pct":{"type":"number"},"monthly_spend":{"type":"number"},"monthly_cap":{"type":"number"},"monthly_pct":{"type":"number"},"alert_triggered":{"type":"boolean"},"cap_exceeded":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"freeze_wallet","service":"billing","description":"Freeze a wallet, blocking all deposits and withdrawals. Admin only.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose wallet to freeze"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"frozen":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"pro"},{"name":"unfreeze_wallet","service":"billing","description":"Unfreeze a wallet, allowing deposits and withdrawals again. Admin only.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose wallet to unfreeze"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"frozen":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"pro"},{"name":"create_org","service":"identity","description":"Create a new organization.","input_schema":{"type":"object","properties":{"org_name":{"type":"string","description":"Name of the organization"}},"required":["org_name"]},"output_schema":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_org","service":"identity","description":"Get organization details and members.","input_schema":{"type":"object","properties":{"org_id":{"type":"string","description":"The organization ID"}},"required":["org_id"]},"output_schema":{"type":"object","properties":{"org_id":{"type":"string"},"name":{"type":"string"},"created_at":{"type":"number"},"members":{"type":"array"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"add_agent_to_org","service":"identity","description":"Add an agent to an organization.","input_schema":{"type":"object","properties":{"org_id":{"type":"string","description":"The organization ID"},"agent_id":{"type":"string","description":"The agent to add"}},"required":["org_id","agent_id"]},"output_schema":{"type":"object","properties":{"agent_id":{"type":"string"},"org_id":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"remove_agent_from_org","service":"identity","description":"Remove an agent from an organization. Cannot remove the last owner.","input_schema":{"type":"object","properties":{"org_id":{"type":"string","description":"The organization ID"},"agent_id":{"type":"string","description":"The agent to remove"}},"required":["org_id","agent_id"]},"output_schema":{"type":"object","properties":{"org_id":{"type":"string"},"agent_id":{"type":"string"},"removed":{"type":"boolean"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"list_api_keys","service":"paywall","description":"List all API keys for an agent. Returns truncated key hash prefix, tier, scopes, and created_at (never the full key or hash). Supports pagination via paginate=true.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose keys to list"},"offset":{"type":"integer","default":0,"description":"Offset for pagination (used with paginate=true)"},"limit":{"type":"integer","default":50,"description":"Maximum number of items to return (used with paginate=true)"},"paginate":{"type":"boolean","default":false,"description":"When true, returns paginated envelope {items, total, offset, limit, has_more}"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"keys":{"type":"array","items":{"type":"object","properties":{"key_hash_prefix":{"type":"string"},"tier":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"created_at":{"type":"number"},"revoked":{"type":"boolean"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"revoke_api_key","service":"paywall","description":"Soft-delete (revoke) an API key by its hash prefix. The key will no longer be usable for authentication.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent who owns the key"},"key_hash_prefix":{"type":"string","description":"First 8 characters of the key hash (from list_api_keys)"}},"required":["agent_id","key_hash_prefix"]},"output_schema":{"type":"object","properties":{"revoked":{"type":"boolean"},"key_hash_prefix":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"get_exchange_rate","service":"billing","description":"Query the exchange rate between two supported currencies.","input_schema":{"type":"object","properties":{"from_currency":{"type":"string","description":"Source currency code. One of: CREDITS, USD, EUR, GBP, BTC, ETH"},"to_currency":{"type":"string","description":"Target currency code. One of: CREDITS, USD, EUR, GBP, BTC, ETH"}},"required":["from_currency","to_currency"]},"output_schema":{"type":"object","properties":{"from_currency":{"type":"string"},"to_currency":{"type":"string"},"rate":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":200},"tier_required":"free"},{"name":"convert_currency","service":"billing","description":"Convert funds between currency balances for an agent. Withdraws from source currency and deposits converted amount to target currency.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose balances to convert"},"amount":{"type":"number","description":"Amount to convert in the source currency"},"from_currency":{"type":"string","description":"Source currency code. One of: CREDITS, USD, EUR, GBP, BTC, ETH"},"to_currency":{"type":"string","description":"Target currency code. One of: CREDITS, USD, EUR, GBP, BTC, ETH"}},"required":["agent_id","amount","from_currency","to_currency"]},"output_schema":{"type":"object","properties":{"from_amount":{"type":"number"},"to_amount":{"type":"number"},"from_currency":{"type":"string"},"to_currency":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"ingest_metrics","service":"identity","description":"Ingest time-series metric data points for an agent. Supports optional Ed25519 signature verification for authenticated submissions.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"metrics":{"type":"object","description":"Dict of metric_name -> value (e.g. {\"sharpe_30d\": 2.35})"},"signature":{"type":"string","description":"Optional Ed25519 signature hex over canonical JSON of metrics+nonce"},"nonce":{"type":"string","description":"Optional unique nonce for replay protection (required if signature is provided)"},"data_source":{"type":"string","description":"Data source tier: self_reported, exchange_api, platform_verified","default":"self_reported"}},"required":["agent_id","metrics"]},"output_schema":{"type":"object","properties":{"accepted":{"type":"integer"},"rejected":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"query_metrics","service":"identity","description":"Query time-series metric data for a specific agent and metric name, with optional time range filtering.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"metric_name":{"type":"string","description":"Metric to query (e.g. sharpe_30d)"},"since":{"type":"number","description":"Unix timestamp to query from (optional)"},"limit":{"type":"integer","description":"Maximum number of data points to return (default: 100)","default":100}},"required":["agent_id","metric_name"]},"output_schema":{"type":"object","properties":{"data":{"type":"array"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"get_metric_deltas","service":"identity","description":"Get performance deltas (current vs previous value) for an agent across all metrics or a specific metric.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"metric_name":{"type":"string","description":"Optional: specific metric to compute delta for"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"deltas":{"type":"object"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"get_metric_averages","service":"identity","description":"Get pre-computed rolling averages for an agent over a specified period (7d, 30d, or 90d).","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent identifier"},"period":{"type":"string","description":"Aggregation period: 7d, 30d, or 90d (default: 30d)","default":"30d"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"averages":{"type":"object"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"submit_verification","service":"gatekeeper","description":"Submit a formal verification job. Each property can be written as raw Z3 SMT-LIB2 (language='z3_smt2') or as a structured JSON policy (language='json_policy', compiled server-side to SMT-LIB2). Returns a job ID for tracking.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent submitting the verification"},"properties":{"type":"array","description":"List of property specifications to verify. Each property carries a language tag; 'z3_smt2' expects raw SMT-LIB2 text, 'json_policy' expects a JSON-encoded JsonPolicy object (compiled to SMT-LIB2 server-side).","items":{"type":"object","properties":{"name":{"type":"string"},"scope":{"type":"string","enum":["economic","workflow","network","contract"]},"language":{"type":"string","enum":["z3_smt2","json_policy"],"default":"z3_smt2"},"expression":{"type":"string","description":"SMT-LIB2 text or JSON-encoded JsonPolicy (matching 'language')"},"description":{"type":"string"}},"required":["name","expression"]}},"scope":{"type":"string","description":"Verification domain scope","enum":["economic","workflow","network","contract"],"default":"economic"},"timeout_seconds":{"type":"integer","description":"Max verification time (10-900s)","default":300},"webhook_url":{"type":"string","description":"Optional webhook URL for completion notification"},"idempotency_key":{"type":"string","description":"Optional idempotency key to prevent duplicate submissions"},"metadata":{"type":"object","description":"Optional metadata to attach to the job"}},"required":["agent_id","properties"]},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"type":"string"},"cost":{"type":"string"},"created_at":{"type":"number"}}},"pricing":{"per_call":5.0,"description":"5 base + 1 per property"},"sla":{"max_latency_ms":30000},"tier_required":"pro"},{"name":"get_verification_status","service":"gatekeeper","description":"Get the current status and result of a verification job.","input_schema":{"type":"object","properties":{"job_id":{"type":"string","description":"The verification job ID"}},"required":["job_id"]},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"agent_id":{"type":"string"},"status":{"type":"string"},"result":{"type":"string"},"proof_artifact_id":{"type":"string"},"cost":{"type":"string"},"created_at":{"type":"number"},"updated_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"list_verification_jobs","service":"gatekeeper","description":"List verification jobs for an agent with optional status filter.","input_schema":{"type":"object","properties":{"agent_id":{"type":"string","description":"The agent whose jobs to list"},"status":{"type":"string","description":"Optional status filter","enum":["pending","running","completed","failed","timeout","cancelled"]},"limit":{"type":"integer","description":"Max results (default 50)","default":50},"cursor":{"type":"string","description":"Pagination cursor (created_at timestamp)"}},"required":["agent_id"]},"output_schema":{"type":"object","properties":{"jobs":{"type":"array"},"count":{"type":"integer"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"cancel_verification","service":"gatekeeper","description":"Cancel a pending or running verification job.","input_schema":{"type":"object","properties":{"job_id":{"type":"string","description":"The verification job ID to cancel"}},"required":["job_id"]},"output_schema":{"type":"object","properties":{"job_id":{"type":"string"},"status":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"get_proof","service":"gatekeeper","description":"Retrieve a formal verification proof artifact by ID.","input_schema":{"type":"object","properties":{"proof_id":{"type":"string","description":"The proof artifact ID"}},"required":["proof_id"]},"output_schema":{"type":"object","properties":{"proof_id":{"type":"string"},"job_id":{"type":"string"},"agent_id":{"type":"string"},"result":{"type":"string"},"proof_hash":{"type":"string"},"valid_until":{"type":"number"},"property_results":{"type":"array"},"created_at":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"pro"},{"name":"verify_proof","service":"gatekeeper","description":"Verify a formal verification proof by its SHA3-256 hash. Returns validity status.","input_schema":{"type":"object","properties":{"proof_hash":{"type":"string","description":"The SHA3-256 hash of the proof to verify"}},"required":["proof_hash"]},"output_schema":{"type":"object","properties":{"valid":{"type":"boolean"},"proof_id":{"type":"string"},"job_id":{"type":"string"},"agent_id":{"type":"string"},"result":{"type":"string"},"valid_until":{"type":"number"},"reason":{"type":"string"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":500},"tier_required":"free"},{"name":"atlas_discover","service":"marketplace","description":"Enriched agent discovery: marketplace search + trust breakdown + reputation + ratings → Atlas Score.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for service discovery"},"budget":{"type":"number","description":"Maximum cost per call"},"min_trust_score":{"type":"number","description":"Minimum trust score threshold (0-100)"},"prefer":{"type":"string","enum":["cost","trust","latency"],"description":"Ranking preference"},"capabilities":{"type":"array","items":{"type":"string"},"description":"Required tool names the provider must support"},"limit":{"type":"integer","default":5,"description":"Maximum number of results"}},"required":["query"]},"output_schema":{"type":"object","properties":{"results":{"type":"array","items":{"type":"object","properties":{"service":{"type":"object"},"atlas_score":{"type":"number"},"trust_score":{"type":"number"},"reputation":{"type":"object"},"average_rating":{"type":"number"}}}}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":2000},"tier_required":"free"},{"name":"atlas_preflight","service":"marketplace","description":"Pre-transaction verification: endpoint reachable? trust OK? wallet active? pricing unchanged?","input_schema":{"type":"object","properties":{"service_id":{"type":"string","description":"The service identifier to verify"},"min_trust_score":{"type":"number","description":"Minimum acceptable trust score (0-100)"},"expected_cost":{"type":"number","description":"Expected per-call cost for pricing verification"}},"required":["service_id"]},"output_schema":{"type":"object","properties":{"ready":{"type":"boolean"},"checks":{"type":"object","properties":{"endpoint":{"type":"string"},"trust":{"type":"string"},"wallet":{"type":"string"},"pricing":{"type":"string"}}},"latency_ms":{"type":"number"}}},"pricing":{"per_call":0.0},"sla":{"max_latency_ms":10000},"tier_required":"free"},{"name":"atlas_broker","service":"marketplace","description":"One-call brokering: discover → preflight → create payment intent.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query for service discovery"},"payer":{"type":"string","description":"Payer agent ID (must match authenticated caller)"},"budget":{"type":"number","description":"Maximum cost per call"},"min_trust_score":{"type":"number","description":"Minimum trust score threshold (0-100)"},"prefer":{"type":"string","enum":["cost","trust","latency"]},"description":{"type":"string","description":"Description for the payment intent"}},"required":["query","payer"]},"output_schema":{"type":"object","properties":{"match":{"type":"object"},"intent_id":{"type":"string"},"intent_status":{"type":"string"},"atlas_score":{"type":"number"},"preflight":{"type":"object"},"error":{"type":"string"}}},"pricing":{"per_call":0.5},"sla":{"max_latency_ms":15000},"tier_required":"pro"}],"total":137,"limit":137,"offset":0,"has_more":false}