Skip to main content

BlockRun: AgentOps

Ampersend and BlockRun provide infrastructure for secure, observable, and programmable AI agent payments using x402, A2A communication, and onchain authorization flows.

This guide shows how to:

  • Run buyer and seller AI agents locally
  • Process AI-to-AI payments through x402
  • Connect agents to BlockRun using X402Transport
  • Configure smart accounts and session keys
  • Test autonomous payment workflows on Base Sepolia

The example architecture uses:

  • ADK Agents
  • LiteLLM
  • x402 payment flows
  • BlockRun inference APIs
  • Base Sepolia testnet infrastructure

Architecture​

Buyer
↓
A2A (x402: buyer pays seller)
↓
Seller (ADK Agent + LiteLLM)
↓
X402Transport
↓
BlockRun API

Components​

Seller​

An ADK Agent with a LiteLLM model backend.

Responsibilities:

  • Receives A2A requests
  • Charges buyers through x402
  • Forwards requests to BlockRun through X402Transport
  • Handles payment signing transparently

Buyer​

A simple X402RemoteA2aAgent.

Responsibilities:

  • Proxies requests to the seller via A2A
  • Handles x402 payments automatically

Setup​

1. Install dependencies​

uv sync

2. Start the seller​

Run in Terminal 1:

uv run python examples/a2a_communication.py --seller

3. Run the Buyer​

One-shot​

Run in Terminal 2:

uv run python examples/a2a_communication.py --buyer --prompt "What is 2+2?"

Interactively via ADK​

Run in Terminal 2:

uv run -- adk run src/blockrun_agent/buyer_a2a

Environment Variables​

VariablePurpose
SELLER_SMART_ACCOUNT_ADDRESSSeller wallet address. Receives buyer payments and pays BlockRun.
SELLER_SESSION_KEYSeller session key used for signing.
BUYER_SMART_ACCOUNT_ADDRESSBuyer wallet address used to pay the seller.
BUYER_SESSION_KEYBuyer session key used for signing.
AMPERSEND_API_URLAmpersend API endpoint. Default: https://api.staging.ampersend.ai

Seller Setup​

Programmatic setup​

from blockrun_agent import SellerAgent, SellerConfig

config = SellerConfig(
smart_account_address="0x...",
session_key_private_key="0x...",
network="base-sepolia",
model="openai/gpt-oss-20b",
)

seller = SellerAgent(config=config)
await seller.serve() # Starts on http://0.0.0.0:8001

Run with Uvicorn​

uvicorn blockrun_agent.seller:a2a_app --port 8001

Development​

Install development tools​

uv sync --group dev

Lint​

uv run ruff check src/ examples/

Format​

uv run ruff format src/ examples/

Type check​

uv run mypy src/

Testnet​

BlockRun provides a Base Sepolia testnet environment for development.

Use testnet USDC from public faucets.

SettingMainnetTestnet
API URLhttps://blockrun.ai/api/v1https://testnet.blockrun.ai/api/v1
Networkbase (Chain 8453)base-sepolia (Chain 84532)
Models26 production modelsopenai/gpt-oss-20b, openai/gpt-oss-120b

Faucets​


On-Chain Proof​

Verified Base Sepolia transaction showing the x402 payment flow.

FieldValue
Transaction0xf77aca47...ecddd3
NetworkBase Sepolia (Chain 84532)
Value0.001 USDC
MethodtransferWithAuthorization

Additional Technical Information​

For full source code, configuration files, and the latest updates, visit the official repository.