AVENAA2A PROTOCOL

A2A Protocol

Agent-to-Agent Communication

Avena Terminal supports Google's A2A (Agent-to-Agent) protocol — the emerging standard for AI agents to discover and communicate with each other autonomously. First property platform in Europe to implement A2A.

What is A2A?

A2A (Agent-to-Agent) is Google's open protocol that lets AI agents from different companies discover each other and collaborate on complex tasks. While MCP connects humans to AI tools, A2A connects AI agents to OTHER AI agents. When a financial planning agent needs property data for a client's portfolio, it discovers Avena Terminal's A2A endpoint automatically and requests data — no human involvement required.

Agent Endpoint

POST https://avenaterminal.com/api/a2a

Discovery: /.well-known/agent.json · Protocol: JSON-RPC 2.0 · Auth: None

Agent Skills

property_search

Property Search

Search 1,881+ scored properties by region, budget, type, score, yield

Find villas under 300k in Costa Blanca
Beach apartments with 6%+ yield
market_analysis

Market Analysis

Regional price trends, avg price/m², discount rates, market regime

Costa Blanca market overview
Price trends by region
investment_signals

Investment Signals

Alpha signals: score outliers, deep discounts, yield spikes, mispricing

Show current alpha signals
Any anomalies this week?
yield_calculator

Yield Calculator

Gross/net rental yield using AirDNA-calibrated STR data for 100+ towns

Top yield towns
Rental income in Torrevieja

Connect Your Agent

// Send a task to Avena Terminal via A2A
const response = await fetch('https://avenaterminal.com/api/a2a', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    jsonrpc: '2.0',
    id: '1',
    method: 'tasks/send',
    params: {
      id: 'task-001',
      message: {
        role: 'user',
        parts: [{
          text: 'Find 3-bed villas under 300k in Costa Blanca with high yield'
        }]
      }
    }
  })
});

const data = await response.json();
console.log(data.result.artifacts[0].parts[0].text);

Also Available