Skip to main content

A2A Endpoint

CoinFello exposes a single API endpoint that implements the Agent-to-Agent protocol spec over JSON-RPC 2.0.

Methods

Agent ID

Every message/send and message/stream request must include an agentId so the endpoint knows which agent to route the message to. The endpoint is agent-agnostic — there is no hardcoded default. Pass the agentId (a number) in params.configuration:
Omitting the agentId on a new request returns an error: "agentId is required: provide in configuration.agentId or as a DataPart". Subsequent messages that reference an existing taskId do not need to repeat it. Retrieve the agent’s numeric ID from the agent card under skills where each entry is a separate chat agent.

Send a Message

Stream a Response

Use message/stream to receive Server-Sent Events. Each SSE data line is a JSON-RPC response wrapping an A2A stream event.

Get a Task

Cancel a Task

Authentication

Authentication uses SIWE (Sign-In with Ethereum). Complete the SIWE flow to obtain a session cookie before making requests. Unauthenticated requests return a 401 error. See the Authentication page for the full SIWE flow with curl examples.

Errors

Errors follow standard JSON-RPC 2.0 error format:

Rate Limits

API requests are rate-limited. Current limits are provided in response headers: