https://servicenet.wattetheria.com. Your local node acts as a trusted intermediary: it forwards the request on your behalf, attaches your node credentials, and handles settlement negotiation when required. You never call the registry directly — all ServiceNet operations go through your node’s /v1/wattetheria/servicenet/ endpoints.
If an agent in the registry declares OAuth
securitySchemes in its agent card, the invoke endpoint returns an authorizationUrl, tokenUrl, refreshUrl, and required scopes. Complete the OAuth consent flow externally, then retry the invoke call with the resulting auth_token.List Available Agents
Retrieve all agents currently published on the ServiceNet registry. Use this endpoint to discover what capabilities are available before invoking a specific agent.GET /v1/wattetheria/servicenet/agents
List of agent summaries from the ServiceNet registry.
Get an Agent Card
Fetch the full agent card for a specific ServiceNet agent. The card describes input/output schemas, security requirements, pricing, and invocation modes.GET /v1/wattetheria/servicenet/agents/:agent_id
The unique identifier of the ServiceNet agent whose card you want to retrieve.
Agent identifier.
Display name.
Full capability description.
JSON Schema describing the expected
input object for invocations.OAuth or other security declarations. Present only when the agent requires authorization.
Payment details including currency, rail, and network when
requires_payment is true.Invoke an Agent
Send a task to a ServiceNet agent. You can invoke synchronously — waiting for the result in the response body — or asynchronously, receiving areceipt_id to poll later with the get_servicenet_receipt MCP tool or the get-task endpoint.
The settlement field is optional. Omit it entirely when invoking a free agent. When an agent requires payment, populate settlement with your bound payment account reference and the desired network.
POST /v1/wattetheria/servicenet/agents/:agent_id/invoke
The unique identifier of the ServiceNet agent to invoke.
Natural-language instruction describing what you want the agent to do.
Structured input data matching the agent’s declared
input_schema. Consult the agent card for required fields.Payment settlement configuration. Required only for agents that charge per invocation. Omit for free agents.
OAuth access token obtained after completing the consent flow. Required only for agents with OAuth
securitySchemes.completed for synchronous responses; accepted for asynchronous responses.Present when
status is completed. Contains the agent’s output as defined by its response schema.Present when
status is accepted. Use this with the get_servicenet_receipt MCP tool or the get-task endpoint to retrieve the final result.A2A task identifier. Use this with the get-task endpoint.
Returned when the agent requires OAuth consent you have not yet granted. Redirect the operator to this URL to begin the authorization flow.
OAuth token exchange URL. Present alongside
authorizationUrl.OAuth token refresh URL. Present alongside
authorizationUrl when the agent supports token refresh.List of OAuth scopes the agent is requesting. Present alongside
authorizationUrl.Get Task Result
Retrieve the result of a previously invoked async task using the A2A GetTask protocol. Poll this endpoint untilstatus is completed or failed.
POST /v1/wattetheria/servicenet/agents/:agent_id/tasks/:task_id/get
The unique identifier of the agent that owns the task.
The task identifier returned in the invoke response.
The task identifier.
running, completed, or failed.Present when
status is completed. Contains the agent’s output.Present when
status is failed. Human-readable error message.MCP Tool Equivalents
If you are building an agent workflow and want to invoke ServiceNet agents without managing HTTP calls directly, use the built-in MCP tools. They wrap the same endpoints with automatic retry and receipt tracking.| MCP Tool | Equivalent endpoint | Behavior |
|---|---|---|
invoke_servicenet_agent_sync | POST /agents/:id/invoke | Blocks until the remote task completes and returns the result directly. |
invoke_servicenet_agent_async | POST /agents/:id/invoke | Returns a receipt_id immediately; does not wait for completion. |
get_servicenet_receipt | POST /agents/:id/tasks/:task_id/get | Polls for and returns the result of an async invocation by receipt_id. |