The identity, communication & payments layer for AI agents. Dreaming of a world where agents gossip, argue & collaborate like a real society of their own.
Watch a short walkthrough of Bindu in action:
Modern agents can reason, plan, and call tools, but connecting them to each other and to existing systems is still hard. We now have open protocols for this new world: A2A, AP2, and X402. They define how agents talk, trust, and trade yet wiring them together still takes time, code, and complexity.
Bindu solves this.
Bindu is an operating layer that adds auth, payments, observability, distributed execution, and low latency on top of A2A, AP2, and X402, turning your agent into a decentralized, interoperable living server that speaks the language of the open web.
Write your agent in any framework you like, then use Bindu to "Binduβfy" it and plug directly into the Internet of Agents.
Bring your agent and a simple config - that's it. We take care of the rest.
# Using uv (recommended)
uv add binduBefore installing Bindu, ensure you have:
- Python 3.12 or higher - Download here
- UV package manager - Installation guide
- Git - Download here
# Check Python version
python --version # Should show 3.12 or higher
# Check UV installation
uv --version
# Check Git
git --versionIf you're on Windows, we recommend using PowerShell (not CMD) for all commands.
Solution:
- Restart your terminal after installing UV
- On Windows, make sure you used PowerShell for installation
Solution:
- Install Python 3.12+ from python.org
- Verify with:
python --version
Solution:
- Use PowerShell (not CMD)
- Run:
.venv\Scripts\activate - You should see
(.venv)at the start of your prompt
Solution:
- Download Visual C++ Build Tools: https://visualstudio.microsoft.com/visual-cpp-build-tools/
- Or use:
uv pip install -e .for core installation only
Solution:
# Make sure virtual environment is activated
.venv\Scripts\activate # Windows
source .venv/bin/activate # Mac/Linux
# Reinstall dependencies
uv sync --devOn your local machine, navigate to the directory in which you want to create a project directory, and run the following command:
uvx cookiecutter https://github.com/getbindu/create-bindu-agent.gitMore details can be found here.
That's it. Your local agent becomes a live, secure, discoverable service, ready to talk with other agents anywhere.
Step 1: Create a configuration file agent_config.json:
{
"author": "raahul@getbindu.com",
"name": "research_agent",
"description": "A research assistant agent",
"deployment": {"url": "http://localhost:3773", "expose": True},
"skills": ["skills/question-answering", "skills/pdf-processing"]
}Full Detailed Configuration can be found here.
Step 2: Create your agent script my_agent.py:
from bindu.penguin.bindufy import bindufy
from agno.agent import Agent
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.models.openai import OpenAIChat
# Define your agent
agent = Agent(
instructions="You are a research assistant that finds and summarizes information.",
model=OpenAIChat(id="gpt-4o"),
tools=[DuckDuckGoTools()],
)
# Configuration
config = {
"author": "your.email@example.com",
"name": "research_agent",
"description": "A research assistant agent",
"deployment": {"url": "http://localhost:3773", "expose": True},
"skills": ["skills/question-answering", "skills/pdf-processing"],
}
# Handler function
def handler(messages: list[dict[str, str]]):
"""Process messages and return agent response.
Args:
messages: List of message dictionaries containing conversation history
Returns:
Agent response result
"""
result = agent.run(input=messages)
return result
# Bindu-fy it
bindufy(config, handler)That's it! Your agent is now live at http://localhost:3773 and ready to communicate with other agents.
If you want to test Bindu locally without tools or external dependencies, here is the smallest possible working agent:
from bindu.penguin.bindufy import bindufy
def handler(messages):
return [{"role": "assistant", "content": messages[-1]["content"]}]
config = {
"author": "your.email@example.com",
"name": "echo_agent",
"description": "A basic echo agent for quick testing.",
"deployment": {"url": "http://localhost:3773", "expose": True},
"skills": []
}
bindufy(config, handler)Run:
python examples/echo_agent.py
Test the agent with any message:
curl -X POST http://localhost:3773/messages \
-H "Content-Type: application/json" \
-d '[{"role": "user", "content": "Hello Bindu!"}]'
Expected response:
"Hello Bindu!"
This example shows how to build a more practical Bindu agent that transforms text. It takes long input from the user and returns a concise summary.
python examples/summarizer_agent.pyTest using cURL:
curl -X POST http://localhost:3774/messages \
-H "Content-Type: application/json" \
-d '[{"role": "user", "content": "Provide a summary of the following text... <long input>"}]'Expected response (example):
The text is summarized into 2β3 sentences focusing on key points.Want a beautiful chat interface for your agent? - It's available as part of the Bindu ecosystem. - https://localhost:3773/docs
Here are some common setup issues and their fixes to help you get up and running quickly:
| Issue | Cause | Solution |
|---|---|---|
Python 3.12 not found |
System default Python is lower than 3.12 | Install Python 3.12 and set it in PATH, or use pyenv to manage versions |
bindu: command not found or import errors |
Virtual environment not activated | Activate venv before running: .venv/Scripts/activate (Windows) or source .venv/bin/activate (macOS/Linux) |
Port 3773 already in use |
Another service is running on that port | Change the url field in config to a different port, e.g. "url": "http://localhost:4000" |
| Pre-commit fails during commit | Code format / lint checks not applied | Run pre-commit run --all-files after initial install |
| Tests fail with missing dependencies | Dev packages not installed | Install with: uv sync --dev (not only pip install bindu) |
| Cookiecutter install error | Cookiecutter not found | Install with uv add cookiecutter or pip install cookiecutter |
- If the agent starts but does not respond, re-create the venv and reinstall dependencies:
rm -rf .venv
uv venv --python 3.12.9
uv sync --dev- If running on Windows PowerShell, ensure execution policy allows venv activation:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserThis section is intended to reduce setup friction and help users quickly verify their environment is working before integrating skills, tools, or frameworks.
a peek into the night sky
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
{{ + + + @ {{
}} | * o + . }}
{{ -O- o . . + {{
}} | _,.-----.,_ o | }}
{{ + * .-'. .'-. -O- {{
}} * .'.-' .---. `'.'. | * }}
{{ . /_.-' / \ .'-.\ {{
}} ' -=*< |-._.- | @ | '-._| >*=- . + }}
{{ -- )-- \`-. \ / .-'/ {{
}} * + `.'. '---' .'.' + o }}
{{ . '-._ _.-' . {{
}} | `~~~~~~~` - --===D @ }}
{{ o -O- * . * + {{
}} | + . + }}
{{ jgs . @ o * {{
}} o * o . }}
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{Each symbol is an agent β a spark of intelligence.
And the single tiny dot is Bindu, the origin point in the Internet of Agents.
NightSky is the layer that makes swarms of agents.
In this swarm, each Bindu is a dot - annotating agents with the shared language of A2A, AP2, and X402.
Agents can be hosted anywhere on laptops, clouds, or clusters β yet speak the same protocol, trust each other by design, and work together as a single, distributed mind.
A Goal Without a Plan Is Just a Wish.
Bindu is Agent Framework agnostic.
We did test with mainly Agno, CrewAI, LangChain, and LlamaIndex, FastAgent.
Want integration with your favorite framework? Let us know on Discord!
bindu is thoroughly tested with a test coverage of over 70%:
# Run tests with coverage
pytest -n auto --cov=bindu --cov-report= && coverage report --skip-covered --fail-under=70We welcome contributions! Here's how to get started:
# Clone the repository
git clone https://github.com/getbindu/Bindu.git
cd Bindu
# Install development dependencies
uv venv --python 3.12.9
source .venv/bin/activate
uv sync --dev
# Install pre-commit hooks
pre-commit run --all-filesPlease see our Contributing Guidelines for more details.
For more details about maintainers, including how to become a maintainer, see our maintainers file.
Bindu is proudly open-source and licensed under the Apache License 2.0.
We π contributions! Whether you're fixing bugs, improving documentation, or building demos β your contributions make bindu better.
- Join our Discord for discussions and support
- Star the repository if you find it useful!
We are grateful to the following projects for the development of bindu:
- FastA2A
- 12 Factor Agents
- A2A
- AP2
- X402
- The bindu logo : https://openmoji.org/library/emoji-1F33B/
- The Ascii Space Art : https://www.asciiart.eu/space/other#google_vignette
Here's what's next for bindu:
- GRPC transport support
- Sentry Error Tracking.
- Ag-Ui Integration.
- Retry Mechanism add.
- Increase Test Coverage to 80%.
- Redis Scheduler Implementation.
- Postgres Database Implementation for Memory Storage.
- Authentication Support AuthKit, GitHub, AWS Cognito, Google, Azure (Microsoft Entra).
- Negotiation Support.
- AP2 End to End Support.
- Dspy Addition.
- MLTS Support.
- X402 Support with other facilitators.
Suggest features or contribute by joining our Discord!
Built with π by the team from Amsterdam π·
Happy Bindu! π»πβ¨
From idea to Internet of Agents in 2 minutes.
Your agent. Your framework. Universal protocols.
β Star us on GitHub β’ π¬ Join Discord β’ π Read the Docs