Agent-to-Agent (A2A) Commerce • x402 Protocol

EstateTrace A2A API & MCP Integration

Machine-native pre-probate real estate intelligence on Base L2. Discover, reserve, and settle leads programmatically with zero human intervention.

1. Machine Commerce Protocol Overview

EstateTrace operates a machine-native HTTP 402 / x402 payment protocol over Base L2 (Chain ID 8453) USDC. Autonomous AI agents query available leads, inspect masked opportunity metrics, reserve inventory with an atomic lock, broadcast payment on-chain, and receive unlocked lead intelligence with instantaneous PII purging.

1. GET /api/v1/a2a/inventory --> Discover candidate leads & Gordon opportunity metrics 2. POST /api/v1/a2a/checkout --> HTTP 402 + Base L2 payment instructions & 120s lock 3. [Broadcast Base L2 USDC] --> Direct transfer to treasury contract on Chain 8453 4. POST /api/v1/a2a/settle/{id} --> Provide tx_hash --> Receive unblurred leads & rebate
Zero-PII-at-Rest Architecture: Living heir contact intelligence (names, verified phones, emails) is enriched just-in-time and returned once in the HTTP 200 settlement payload. It is immediately purged from rest upon delivery.

2. API Endpoints Reference

GET /api/v1/a2a/inventory

Discovers candidate pre-probate leads across 44 compliant states + DC (excludes CA, OR, WA, CT, NJ, MD). Returns zero-PII teasers, confidence scores, and Gordon's Estimated Opportunity Metrics.

GET https://api.estatetrace.ai/api/v1/a2a/inventory?state=AL&county=Madison&tier=1
Content-Type: application/json

Response (HTTP 200 OK):

{
  "status": "success",
  "count": 1,
  "state": "AL",
  "county": "Madison",
  "data": [
    {
      "lead_id": "LEAD_AL_MAD_1082",
      "tier": 1,
      "state": "AL",
      "county": "Madison",
      "city": "Huntsville",
      "zip_code": "35801",
      "unit_price_usdc": 140.00,
      "confidence_score": 0.95,
      "confidence_band": "High",
      "distress_signals": [
        "decedent_owner",
        "verified_heir",
        "tax_current"
      ],
      "estimated_opportunity": {
        "avm": 250000.0,
        "estimated_equity": 250000.0,
        "mao": 137500.0,
        "projected_flip_profit": 75000.0,
        "wholesale_spread": "$12,000 – $25,000",
        "agent_commission_range": "$7,500 – $15,000",
        "equity_indicator": "High Equity / Free & Clear Pre-Probate"
      },
      "ingested_at": "2026-08-28T14:30:00Z"
    }
  ],
  "checkout_endpoint": "/api/v1/a2a/checkout"
}

POST /api/v1/a2a/checkout

Initiates lead reservation. Locks inventory for 120 seconds and returns payment instructions.

POST https://api.estatetrace.ai/api/v1/a2a/checkout
Content-Type: application/json

{
  "lead_ids": ["LEAD_AL_MAD_1082"],
  "promo_code": "LAUNCH25"
}

Response (HTTP 402 Payment Required):

{
  "protocol": "x402-a2a-v1",
  "status": "payment_required",
  "payment_instructions": {
    "recipient_address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
    "chain_id": 8453,
    "chain_name": "Base",
    "asset": "USDC",
    "asset_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount_usdc": "105.00",
    "charge_id": "a2a_charge_1724789000",
    "expires_at": "2026-08-28T14:32:00.000Z",
    "expiry_timestamp": 1724789120
  },
  "lead_ids": ["LEAD_AL_MAD_1082"],
  "tos_url": "https://www.estatetrace.ai/terms",
  "tos_notice": "Payment constitutes the operator's acceptance of EstateTrace Terms of Service on behalf of this agent",
  "settlement_endpoint": "/api/v1/a2a/settle/a2a_charge_1724789000",
  "status_endpoint": "/api/v1/a2a/status/a2a_charge_1724789000"
}

POST /api/v1/a2a/settle/{charge_id}

Submits Base L2 transaction hash for automated on-chain verification and immediate lead delivery.

POST https://api.estatetrace.ai/api/v1/a2a/settle/a2a_charge_1724789000
Content-Type: application/json

{
  "tx_hash": "0x8f192..."
}

GET /api/v1/a2a/status/{charge_id}

Polls reservation status (pending, settled, expired, released).

3. Official Python SDK

Integrate EstateTrace in 3 lines of Python code using our official client SDK:

from estatetrace import EstateTraceClient

client = EstateTraceClient(base_url="https://api.estatetrace.ai")

# 1. Discover matching leads
leads = client.get_inventory(state="AL", county="Madison", tier=1)

# 2. Reserve candidate lead
quote = client.checkout(lead_ids=[leads["data"][0]["lead_id"]], promo_code="LAUNCH25")

# 3. Settle with Base L2 tx hash
delivery = client.settle(charge_id=quote["payment_instructions"]["charge_id"], tx_hash="0x...")
print(delivery["delivered_leads"])

4. Coinbase AgentKit Action Provider

Enable autonomous on-chain agents powered by Coinbase CDP / AgentKit to discover off-market real estate intelligence and execute atomic Base L2 settlements directly in agent reasoning loops.

from estatetrace.agentkit import EstateTraceActionProvider
from cdp_agentkit_core.actions import ActionProvider

# Initialize EstateTrace Action Provider
provider = EstateTraceActionProvider(api_base_url="https://api.estatetrace.ai")

# Registered actions available to LLM tool calling:
# - estatetrace_search_inventory (Discover zero-PII signals & Gordon metrics)
# - estatetrace_reserve_leads (120s atomic reservation & HTTP 402 payment specs)
# - estatetrace_settle_leads (Submit on-chain Base L2 tx_hash & receive unblurred leads)
actions = provider.get_actions()

5. Model Context Protocol (MCP) Server

Plug EstateTrace directly into Claude Desktop, OpenClaw, Cursor, or any MCP-compliant client. Our MCP server exposes high-level tools for autonomous lead search, machine reservation, and settlement.

// Example Claude Desktop configuration (claude_desktop_config.json)
{
  "mcpServers": {
    "estatetrace": {
      "command": "python",
      "args": ["mcp_server.py"],
      "env": {
        "ESTATETRACE_API_URL": "https://api.estatetrace.ai"
      }
    }
  }
}

6. Pricing, Bundles & Active Promo

Volume / CodeDiscountDescription
LAUNCH2525% OFFInaugural 14-day launch promo code for all leads
2–9 Leads15% OFFAutomatic multi-lead bundle discount
10+ Leads35% OFFAutomatic enterprise portfolio discount
Geographic Boundaries: EstateTrace is active in 44 whitelisted states + DC. Lead requests for properties located in CA, OR, WA, CT, NJ, or MD are deterministically blocked with HTTP 400 Bad Request.