Skip to main content
Remember that developer who spent three weeks on infrastructure? Let’s make sure that’s not you. In the next 2 minutes, you’ll have a production-ready agent.
Not a demo. Not a prototype.
A real agent with DID identity, A2A protocol compliance, observability, and payment support.
Ready to communicate in the Internet of Agents. Let’s go.

The Fast Way - Cookiecutter Style

Time to first agent: ~2 minutes ⏱️ This is the fastest way to get started. Navigate to the directory where you want to create your agent project and run:
uvx cookiecutter https://github.com/getbindu/create-bindu-agent.git
Make sure you have uv installed. If not, install it with:
curl -LsSf https://astral.sh/uv/install.sh | sh
For detailed documentation, see the Template Overview.

Already Built Something?

You’ve got an agent running.
Maybe it’s in LangChain. Maybe CrewAI. Maybe custom code.
Doesn’t matter. You can Bindu-fy it in 5 minutes. Two things you need: a config file and the bindufy wrapper.
That’s it.

Step 1: Create agent_config.json

{
  "author": "[email protected]",
  "name": "my_existing_agent",
  "description": "My agent with Bindu superpowers",
  "version": "1.0.0",
  "deployment": {
    "url": "http://localhost:3773",
    "expose": true
  }
}
See the Configuration Reference for all available options including A2A, AP2, and X402 protocol settings.

Step 2: Wrap Your Agent with bindufy

from bindu.penguin.bindufy import bindufy
from agno.agent import Agent
from agno.models.openai import OpenAIChat
import json

# Load your config
with open("agent_config.json", "r") as f:
    config = json.load(f)

# Your existing agent
my_agent = Agent(
    instructions="Your agent instructions",
    model=OpenAIChat(id="gpt-4o"),
)

# Handler function
def agent_handler(messages: list[dict[str, str]]):
    result = my_agent.run(input=messages)
    return result

# Bindufy it!
bindufy(my_agent, config, agent_handler)
Done. Your agent is now live.
Ready to communicate with other agents in the Internet of Agents.
No infrastructure setup.
No protocol implementation.
No weeks of DevOps work.
Just your agent, now accessible to the world.
Check out examples for different agent frameworks like LangChain, CrewAI, and more.

What Happens During Setup?

When you run the cookiecutter command, you’ll be prompted for:
  • Project details - Name, description, author info
  • Agent framework - Agno, LangChain, CrewAI, etc.
  • Features - Authentication, DID, observability, CI/CD
  • License type - MIT, Apache, BSD, GPL, ISC
Then boom! 💥 Your agent project is ready with:
your-agent/
├── agent_config.json          # Agent configuration with A2A/AP2/X402 settings
├── your_agent/
│   ├── main.py               # Agent entry point (Bindu-fied!)
│   └── __init__.py
├── skills/                   # Template for adding agent skills
├── tests/                    # Pre-configured pytest tests
├── pyproject.toml            # Dependencies managed by uv
├── Dockerfile                # Ready for containerization
├── .github/workflows/        # CI/CD pipelines
└── README.md                 # Complete setup instructions

Fire It Up

Navigate to your agent directory:
cd your-agent
Install dependencies (this is fast with uv):
uv sync
Start your agent:
uv run python -m your_agent.main
That’s it. Your agent is now live at http://localhost:3773. It’s speaking:
  • A2A - Agent-to-Agent protocol
  • AP2 - Agentic Protocol 2
  • X402 - Payment rails
Other agents can discover it.
Talk to it.
Pay it for services.
You just joined the Internet of Agents.

What You Just Got

All of this. Out of the box.
No configuration. No setup. No weeks of work.

Protocol Support

Built-in A2A, AP2, and X402 protocol compliance

Authentication

Secure authentication with Auth0 and DID support

Observability

Phoenix, Langfuse, and Jaeger integration

CI/CD

GitHub Actions workflows for testing and deployment

Testing

Pre-configured pytest with coverage reporting

Documentation

MkDocs setup for beautiful documentation

Containerization

Docker/Podman ready for easy deployment

Code Quality

Ruff, ty, and pre-commit hooks configured

Learn More

When Things Go Wrong

They usually don’t. But if they do:
You need uv installed first.
curl -LsSf https://astral.sh/uv/install.sh | sh
Then restart your terminal and try again.
Something’s already running on port 3773.Change the deployment_port in your agent_config.json to something else (like 3773 or 9000).Or kill whatever’s using that port.
You probably haven’t set up Auth0 credentials yet.Check the generated README for details on environment variables.Or disable auth in your config if you’re just testing.
Sometimes the virtual environment gets corrupted.Nuke it and start fresh:
rm -rf .venv
uv sync
Should work now.

Still Stuck?

Join our Discord community - Real people, real help, usually within minutes. Or check out the GitHub repository for more examples and documentation. We’re building this together. Your questions make the docs better.