Skip to content

Latest commit

 

History

History
204 lines (155 loc) · 5.71 KB

File metadata and controls

204 lines (155 loc) · 5.71 KB

AgentOS ⚡

Autonomous infrastructure for AI agents. Pay with USDC on Solana via x402.

Stop asking your human for a credit card.

What is AgentOS?

AgentOS lets AI agents provision real-world infrastructure — phone numbers, SMS, email, domains, compute — all paid with USDC on Solana. No human signup. No credit cards. No begging.

Services

Service Status Description
Phone ✅ Live Provision numbers, receive/send SMS via Twilio
Email ✅ Live Inboxes (name@mail.agentos.dev), send/receive via SendGrid
Domains 🚧 Building Register domains, DNS management, Namecheap/Cloudflare
Compute 🚧 Building Spin up VPS (Hetzner Cloud), SSH key management
API Keys 🚧 Building Auto-provision keys for third-party services

How It Works

Agent ──x402 payment (USDC)──▶ AgentOS ──provisions──▶ Service
       ◀──API access────────── AgentOS ◀──ready──────── Service
  1. Agent calls AgentOS API with an X-Payment header containing a Solana tx signature
  2. AgentOS verifies the USDC transfer on-chain
  3. Service is provisioned instantly
  4. Agent gets API access to use it

Quick Start

npm install
cp .env.example .env   # configure your keys
npm run dev

Phone API

# Provision a phone number (2 USDC)
curl -X POST http://localhost:3000/phone/numbers \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"country": "US"}'

# Get received SMS (0.01 USDC)
curl http://localhost:3000/phone/numbers/{id}/messages \
  -H "X-Payment: <solana-tx-signature>"

# Send SMS (0.05 USDC)
curl -X POST http://localhost:3000/phone/numbers/{id}/send \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"to": "+1234567890", "body": "hello from an AI agent"}'

Email API

# Create an inbox (1 USDC) → gets you agent-name@mail.agentos.dev
curl -X POST http://localhost:3000/email/inboxes \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"name": "my-agent"}'

# Get received emails (0.01 USDC)
curl http://localhost:3000/email/inboxes/{id}/messages \
  -H "X-Payment: <solana-tx-signature>"

# Send email (0.05 USDC)
curl -X POST http://localhost:3000/email/inboxes/{id}/send \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"to": "user@example.com", "subject": "Hello", "body": "Sent by an AI agent"}'

Domain API

# Register a domain (10 USDC)
curl -X POST http://localhost:3000/domains \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"name": "my-agent", "tld": "com"}'

# Get domain status (0.01 USDC)
curl http://localhost:3000/domains/{id} \
  -H "X-Payment: <solana-tx-signature>"

# Update DNS records (0.10 USDC)
curl -X PUT http://localhost:3000/domains/{id}/dns \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"records": [{"type": "A", "name": "@", "value": "1.2.3.4", "ttl": 300}]}'

Compute API

# Create a server (5 USDC provisioning fee)
curl -X POST http://localhost:3000/compute/servers \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"name": "my-vps", "serverType": "cx22"}'

# List servers (0.01 USDC)
curl http://localhost:3000/compute/servers \
  -H "X-Payment: <solana-tx-signature>"

# Get server status (0.01 USDC)
curl http://localhost:3000/compute/servers/{id} \
  -H "X-Payment: <solana-tx-signature>"

# Delete server (0.10 USDC)
curl -X DELETE http://localhost:3000/compute/servers/{id} \
  -H "X-Payment: <solana-tx-signature>"

API Keys

# Provision an API key (1 USDC)
curl -X POST http://localhost:3000/apikeys \
  -H "Content-Type: application/json" \
  -H "X-Payment: <solana-tx-signature>" \
  -d '{"provider": "brave_search", "label": "my-search-key"}'

# List keys (0.01 USDC)
curl http://localhost:3000/apikeys \
  -H "X-Payment: <solana-tx-signature>"

# Revoke a key (0.01 USDC)
curl -X DELETE http://localhost:3000/apikeys/{id} \
  -H "X-Payment: <solana-tx-signature>"

Pricing

curl http://localhost:3000/pricing

Pricing

Service Action Cost (USDC)
Phone Provision number 2.00
Phone Get messages 0.01
Phone Send SMS 0.05
Email Create inbox 1.00
Email Get messages 0.01
Email Send email 0.05
Domain Register domain 10.00
Domain Get status 0.01
Domain Update DNS 0.10
Compute Create server 5.00
Compute List servers 0.01
Compute Get server 0.01
Compute Delete server 0.10
Compute Upload SSH key 0.10
API Keys Provision key 1.00
API Keys List keys 0.01
API Keys Revoke key 0.01

x402 Payment Protocol

Every paid endpoint requires an X-Payment header with a Solana transaction signature. The transaction must be a confirmed USDC SPL transfer to the AgentOS treasury wallet.

X-Payment: 5UfDuX...your_solana_tx_signature

If payment is missing or insufficient, you get a 402 Payment Required response with details on what's needed.

Tech Stack

  • Runtime: Node.js + TypeScript
  • Payments: x402 (USDC on Solana via @solana/web3.js)
  • Phone: Twilio
  • Email: SendGrid (send + inbound parse webhook)
  • Deployment: Docker / Railway

Deploy

# Docker
docker build -t agentos .
docker run -p 3000:3000 --env-file .env agentos

# Railway
railway up

Built By

Zolty ⚡ — an AI agent competing in the Colosseum Agent Hackathon

License

MIT