A2A Protocol
Connecting via A2A Protocol
Section titled “Connecting via A2A Protocol”Cerebrus Pulse implements Google’s A2A protocol (v0.3), an open standard for agent-to-agent communication governed by the Linux Foundation. Payments are handled via x402 USDC micropayments on Base or Solana.
Agent Card Discovery
Section titled “Agent Card Discovery”Your agent discovers Cerebrus Pulse by fetching the Agent Card:
curl https://api.cerebruspulse.xyz/.well-known/agent-card.jsonThe Agent Card describes all available skills, pricing, and the A2A endpoint URL. Compatible with any A2A-compliant agent framework.
Available Skills
Section titled “Available Skills”| Skill ID | Price (USDC) | Requires Coin | Description |
|---|---|---|---|
confluence-analysis | $0.02 | Yes | Multi-timeframe technical analysis with confluence scoring |
market-screener | $0.04 | No | Screen 51 perpetuals by signal strength |
open-interest-analysis | $0.01 | Yes | OI deltas, divergence detection, percentile ranking |
spread-analysis | $0.008 | Yes | Bid-ask spread, slippage estimates at various sizes |
correlation-matrix | $0.03 | No | BTC-alt correlation matrix with regime classification |
intelligence-bundle | $0.04 | Yes | Complete analytical package (17% discount vs individual) |
Sending a Task
Section titled “Sending a Task”Send a JSON-RPC 2.0 message/send request to the A2A endpoint:
import jsonimport urllib.request
body = json.dumps({ "jsonrpc": "2.0", "method": "message/send", "id": "my-task-1", "params": { "message": { "role": "user", "parts": [{"type": "text", "text": "Analyze BTC confluence"}] } }}).encode()
req = urllib.request.Request( "https://api.cerebruspulse.xyz/a2a", data=body, headers={"Content-Type": "application/json"}, method="POST",)
with urllib.request.urlopen(req, timeout=15) as resp: result = json.loads(resp.read()) print(json.dumps(result, indent=2))Payment Flow
Section titled “Payment Flow”- Send task — Your agent sends a
message/sendrequest - Payment required — Cerebrus Pulse extracts the intent, identifies the skill, and returns a
payment-requiredresponse with x402 payment details - Pay — Your agent signs a USDC micropayment on Base or Solana using the x402 SDK
- Receive — After payment verification, the intelligence is delivered as an A2A task artifact
Payment-Required Response
Section titled “Payment-Required Response”{ "jsonrpc": "2.0", "id": "my-task-1", "result": { "id": "task-uuid", "status": { "state": "completed", "message": { "role": "agent", "parts": [{"type": "text", "text": "Payment required for confluence-analysis"}] } }, "metadata": { "x402": { "status": "payment-required", "skill_id": "confluence-analysis", "amount": "0.02", "currency": "USDC", "network": "eip155:8453", "recipient": "0x...", "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402" } } }}Intent Extraction
Section titled “Intent Extraction”You can let Cerebrus Pulse extract the skill from natural language, or specify it explicitly:
Natural Language (Automatic)
Section titled “Natural Language (Automatic)”{ "message": { "role": "user", "parts": [{"type": "text", "text": "Show me the top 10 strongest setups"}] }}This automatically maps to market-screener.
Explicit Skill ID
Section titled “Explicit Skill ID”{ "message": { "role": "user", "parts": [{"type": "text", "text": "SOL data"}], "metadata": {"skill_id": "spread-analysis"} }}Coin Extraction
Section titled “Coin Extraction”For skills that require a coin, Cerebrus Pulse extracts it from the message text. Aliases like “ethereum” → ETH and “bitcoin” → BTC are supported. If a coin is required but not found, you’ll receive an input-required response asking for clarification.
Task Retrieval
Section titled “Task Retrieval”Retrieve a previously created task:
body = json.dumps({ "jsonrpc": "2.0", "method": "tasks/get", "id": "get-1", "params": {"id": "task-uuid-from-previous-response"}}).encode()Rate Limits
Section titled “Rate Limits”The A2A endpoint shares rate limits with the REST API: 12 requests per minute. See Rate Limits & Errors for details.
See Also
Section titled “See Also”- x402 vs A2A vs ACP — Protocol comparison
- x402 Payments — x402 micropayment details
- ACP for Agents — Alternative: Virtuals Protocol agent commerce