Your agent is online. You sent it a message. It came back with a DID-signed response. Now what? The honest answer is “depends what you’re building.” Here are the four paths the docs are organized around.Documentation Index
Fetch the complete documentation index at: https://docs.getbindu.com/llms.txt
Use this file to discover all available pages before exploring further.
I want to ship this to other humans
Real users, real domain, real uptime. Read in this order:- Install —
uv add binduwas for your laptop. Production wantsuv sync, a venv, and a.envfile. - Storage — switch from in-memory to Postgres so a restart doesn’t eat your tasks.
- Scheduler — switch from in-memory to Redis when you want more than one process.
- Authentication — Hydra OAuth2. Stop running open to the internet.
- Observability — OpenTelemetry traces, Sentry errors. The boring stuff that saves you at 2am.
I want this agent to talk to other agents
That’s the whole point of A2A. Read these:- Skills — declare what your agent can do so other agents can find it without guessing.
- DIDs — how callers verify the response really came from you, and how you verify them back.
- Gateway — when you want a planner LLM to route a question across a fleet of agents.
- Negotiation — when two agents need to agree on price and SLA before doing the work.
- Notifications — webhook your caller when a long task finishes. Stop polling.
I want this agent to take money
x402, USDC, EVM. Bindu was partly built for this.- Payment — the protocol, the chains supported, the wallet config.
- DIDs if you skipped it — payment without identity is just a tip jar.
examples/premium-advisor in the repo. Caller hits the agent, gets a 402 Payment Required with an invoice, pays in USDC, hits again with the receipt, gets the answer. End to end in 90 lines.
I want to build this in TypeScript / Kotlin / something else
You don’t have to write Python. Bindu has a polyglot gRPC core.- gRPC overview — why the sidecar exists, how the two halves talk.
- gRPC quickstart — the TypeScript-side equivalent of
your-first-agent. - Building a custom SDK — for the language we don’t ship yet. Usually a few hundred lines.
I’m stuck
The errors you’ll hit are almost always one of these:address already in useon:3773— another Bindu agent is already running.lsof -ti:3773 | xargs kill.OPENAI_API_KEY not set—.envfile isn’t being loaded. Addfrom dotenv import load_dotenv; load_dotenv()at the top of your script. (env_fileappears in thebindufy()docstring but is not actually wired up — callload_dotenvyourself.)ConfigError: 'author' is a required field in the agent configuration.— you typoed the key, or are missing one ofauthor/name/deployment.url/deployment.expose. Re-read Config reference.ConfigError: 'deployment.url' must be a valid http(s) URL, got '...'— your URL is missing the scheme or netloc.urlparserejects anything nothttp:///https://with a host.DATABASE_URL environment variable is required when STORAGE_TYPE=postgres— you opted into Postgres without giving it a connection string. Either setDATABASE_URLor dropSTORAGE_TYPE=postgresto fall back to memory.- Tunnel not working —
expose: Trueneeds outbound 443 open. Behind a corporate firewall this won’t fly. Useexpose: Falseand a real domain.
- GitHub Issues for bugs and feature requests.
- Discord for “is this supposed to work like this” questions. Maintainers hang out there.
- Examples folder — 30+ working agents covering most patterns. When in doubt, find the one closest to what you’re building and steal the config.