botparty
The agent-era CLI for services, APIs, and credentials.
BotParty lets any machine interact with hundreds of services without human interaction, and with all other APIs without ever touching credentials.
What BotParty gives you
1. BotParty services — Managed infrastructure with no account creation.
Create databases, deploy apps, register domains, provision servers — all from the CLI. Your machine gets its own namespace and authenticates with a keypair. No signups, no dashboards, no humans needed.
botparty services mongo databases.create --slug my-db
botparty mongo databases.list
2. Pay-as-you-go APIs — Hundreds of APIs including all x402-compatible servers. No crypto wallet on your machine, no API keys to manage. BotParty handles payment and auth through its credit system.
botparty curl https://api.example.com/generate -X POST -d '{"prompt":"hello"}'
3. Any other API in the world — BotParty proxies the call through Keychains, which handles credentials so your machine never sees them. Need OAuth tokens? API keys? A human gets a secure link to enter credentials once, and your machine uses them forever.
botparty curl https://api.github.com/user/repos
Install
npm install -g botparty
Quick Start
botparty curl https://api.example.com/data
botparty mongo databases.create --slug my-db
botparty services deploy projects.deploy --projectName my-site --file ./dist/
On first run, BotParty automatically generates an Ed25519 keypair, registers a namespace (like brave-fox-a3f2), signs a JWT, and sends the authenticated request. No configuration required.
How Auth Works
Each machine gets a self-assigned namespace, authenticated by an Ed25519 keypair stored at ~/.botparty/.
Key rotation protects against theft. Keys must be rotated before a TTL expires. If two machines try to rotate the same key, the namespace locks automatically — an attacker who steals your key can't silently use it because rotation will trigger a conflict. A locked namespace requires human intervention to unlock.
Namespace linking connects a machine to a human account. Run botparty link to generate a URL — give it to your human, they click it, and your namespace is linked to their account. This enables billing, permissions, and human-in-the-loop approval flows.
~/.botparty/
├── identity.json Namespace, key ID, algorithm, rotation info
└── private.pem Ed25519 private key (mode 0600)
botparty curl
A curl replacement that handles auth automatically. If the server you're calling uses BotParty for auth, the request goes directly to the server with a signed JWT. Otherwise, BotParty proxies the call through Keychains, which handles credentials (OAuth, API keys, pay-as-you-go billing) on your behalf.
botparty curl <url> [options]
Your machine never touches third-party credentials. If the target API requires credentials you haven't set up yet, you'll get a URL for a human to authorize access in a secure environment.
Options
All standard curl flags are supported (-X, -H, -d, -F, -o, -v, -i, -s, -L, etc).
BotParty-specific options:
--wait-on-authlink | If credentials are needed, wait for human approval then retry |
--wait-timeout <s> | Max seconds to wait for approval |
Examples
botparty curl https://api.example.com/data
botparty curl https://api.example.com/items -X POST --json '{"name":"widget"}'
botparty curl https://api.example.com -H "X-Custom: value"
botparty curl https://api.stripe.com/v1/charges --wait-on-authlink
botparty token
botparty services
Discover and invoke actions on any BotParty-compatible service. Services publish a manifest at /.well-known/botparty/services.json describing their available actions, parameters, and payment requirements.
botparty services <domain> [action] [--params]
Use a shorthand like mongo (resolves to mongo.botparty.club) or any full domain. Omit the action to list everything the service offers.
Available services
mongo | mongo.botparty.club | MongoDB databases — create, manage credentials, backups |
git | git.botparty.club | Git repositories — create, push/pull, token management |
s3 | s3.botparty.club | S3 storage — buckets, presigned URLs, IAM credentials |
deploy | deploy.botparty.club | Deployments — deploy to Vercel with no account needed |
domains | domains.botparty.club | Domains — register domains, configure DNS records |
upstash | upstash.botparty.club | Upstash — Redis, Vector indices, QStash queues |
vps | vps.botparty.club | VPS — bare-metal servers, SSH sessions, command exec |
vms | vms.botparty.club | VMs — Docker containers with persistent storage |
Root-level shortcuts
You can skip services entirely. If BotParty doesn't recognize a command, it checks whether <command>.botparty.club is a valid service:
botparty mongo databases.list
botparty deploy projects.deploy --projectName my-site --file ./dist/
Examples
botparty services mongo
botparty services mongo databases.list
botparty services mongo databases.create --slug my-db
botparty services git repos.create --name my-project
botparty services deploy projects.deploy --projectName my-site --file ./dist/
botparty services domains domains.check --domain example.com
botparty services custom-service.example.com
Commands Reference
Identity
botparty init [namespace]
botparty init my-bot --ttl 30
botparty whoami
botparty info [namespace]
botparty link
botparty token
botparty reset
botparty destroy --yes
Key Management
botparty keys list
botparty keys rotate
botparty keys rotate <keyId>
botparty keys add \
--public-key "..." \
--scopes "mongo://prod/*:read" \
--ttl 60
botparty keys delete <keyId> --yes
botparty keys invalidate <keyId> --yes
Invites and Dependents
botparty invites create --scopes "read,write" --expires 24h
botparty invites list
botparty dependents list
botparty dependents revoke <tokenId> --yes
Connections
botparty connections list
botparty connections delete <id> --yes
Global Options
--server <url> | BOTPARTY_SERVER_URL | https://id.botparty.club | BotParty server URL |
--state-dir <path> | BOTPARTY_STATE_DIR | ~/.botparty | Local state directory |
--proxy-url <url> | BOTPARTY_PROXY_URL | https://keychains.dev | Credential proxy URL |
--json | — | — | Machine-readable JSON output |
🍊 Company — Preview (coming soon)
Run entire AI companies from the command line. Hire agents, set goals, activate YOLO mode.
Status: These commands are a preview — they show you exactly what's coming, then invite you to enlist at botparty.club/waitlist. No backend yet.
npx -y botparty company create "Shrimps & Co: a company which delivers shrimps"
npx -y botparty company hire tanya "A great marketer"
npx -y botparty company hire roger "Backend engineer, logistics expert"
npx -y botparty company yolo
Enlist early at https://botparty.club/waitlist 🍍
License
MIT