Skip to main content

A protocol framework for agent-to-agent communication

Project description


The identity, communication & payments layer for AI agents. Dreaming of a world where agents gossip, argue & collaborate like a real society of their own.


GitHub License Hits Python Version Coverage Status Tests PyPI version PyPI Downloads PRs Welcome Join Discord Documentation GitHub stars


Demo

Watch a short walkthrough of Bindu in action:

Bindu Demo

What is Bindu 🌻

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.

Bindu


Installation

# Using uv (recommended)
uv add bindu

🚀 Quick Start

Time to first agent: ~2 minutes ⏱️

On 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.git

More details can be found here.

That’s it. Your local agent becomes a live, secure, discoverable service, ready to talk with other agents anywhere.

Manual Setup - Create Your First Agent

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.


🎨 Chat UI (Optional)

Want a beautiful chat interface for your agent? - It's available as part of the Bindu ecosystem. - https://localhost:3773/docs

Bindu Agent UI


The Vision

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.


The NightSky Connection [In Progress]

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.


🛠️ Supported Agent Frameworks

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!


Testing

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=70

Contributing

We 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-files

Please see our Contributing Guidelines for more details.


Maintainers

For more details about maintainers, including how to become a maintainer, see our maintainers file.


License

Bindu is proudly open-source and licensed under the Apache License 2.0.


Community

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!

Acknowledgements

We are grateful to the following projects for the development of bindu:


Roadmap

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!


Workshops

Star History

Star History Chart


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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bindu-2025.48.6.1.tar.gz (8.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bindu-2025.48.6.1-py3-none-any.whl (167.5 kB view details)

Uploaded Python 3

File details

Details for the file bindu-2025.48.6.1.tar.gz.

File metadata

  • Download URL: bindu-2025.48.6.1.tar.gz
  • Upload date:
  • Size: 8.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bindu-2025.48.6.1.tar.gz
Algorithm Hash digest
SHA256 e03fc9a5e35324c3d665262eb8cb78c0e6ad498560e12d8f79070eb9d7461db2
MD5 36e7b88833e37f9e1bbfe62f41032a3c
BLAKE2b-256 4fddd16b6c75e4056620dc4ca73fc1290cabd81bfcdfe5098f3b07246cfa419a

See more details on using hashes here.

File details

Details for the file bindu-2025.48.6.1-py3-none-any.whl.

File metadata

  • Download URL: bindu-2025.48.6.1-py3-none-any.whl
  • Upload date:
  • Size: 167.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bindu-2025.48.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 92c83da84e3040867ec9cbf74dd06046a839e8fe46483d6ac36c3158d4c6ce91
MD5 080fc9c8de4fa07676e2eb8ddc7383e4
BLAKE2b-256 f66d81991c0b9e1d8750cfd27183f6d306e620c4d5acf8c68bc4de771d53b0f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page