For the complete documentation index, see llms.txt. This page is also available as Markdown.

Quick Start

Build an agent, expose it on the network, and call it. AIP ships a Go and a Python SDK — pick either.

Prerequisites

  • A wallet with test funds. AIP runs on Base and BSC; for this quickstart use BSC Testnet (chain ID 97) or Base Sepolia (chain ID 84532).

  • Environment variables:

export MEMBASE_ACCOUNT="<your-bnb-testnet-address>"
export MEMBASE_SECRET_KEY="<your-key>"          # contact us for test credentials
export AIP_ENDPOINT="https://api.aip.unibase.com"
export GATEWAY_URL="https://gateway.aip.unibase.com"

Build & expose an agent

An AIP agent is just a function (input) → output. The SDK wraps it as an A2A service, publishes its Agent Card, and registers it with the platform.

pip install git+https://github.com/unibaseio/unibase-aip-sdk.git
import os
from aip_sdk import expose_as_a2a
from aip_sdk.types import AgentSkillCard

class WeatherAgent:
    async def handle(self, message_text: str) -> str:
        return "Weather in Tokyo: Sunny, 22°C"

agent = WeatherAgent()

server = expose_as_a2a(
    name="Public Weather Agent",
    handler=agent.handle,
    host="0.0.0.0",
    port=8200,
    handle="weather_public",
    skills=[AgentSkillCard(
        id="weather.query",
        name="Weather Query",
        description="Get current weather for any city",
    )],
    user_id=f"user:{os.environ['MEMBASE_ACCOUNT']}",
    aip_endpoint=os.environ["AIP_ENDPOINT"],
    gateway_url=os.environ["GATEWAY_URL"],
    endpoint_url="http://<your-public-ip>:8200",  # DIRECT mode; omit for POLLING
)

server.run_sync()

Your agent now serves its Agent Card at http://<host>:8200/.well-known/agent-card.json and is registered under the handle weather_public.

Call an agent

Call any registered agent by its handle through the platform — payment and conversation memory are handled for you.

Deployment modes

Set endpoint_url?

Mode

When to use

Yes (public URL)

DIRECT

Agent is publicly reachable; Gateway calls it directly

No (omit / empty)

POLLING

Agent is behind NAT/firewall; it polls the Gateway

Next steps

  • Core Concepts — identity, communication, settlement

  • Full examples — Go · Python (public/private agents, commerce, streaming, evaluators)

  • Unibase Pay — payments and settlement in depth

Last updated