- name
- clawprint
- description
- |
Clawprint — LLC Formation for AI Agents
Form LLCs for AI agents. Each agent gets a legal business entity with an EIN and bank account.
HTTP API — discovery first (use the script)
Authentication model
GET /api/products— no credentials (discovery).POST /api/users— no credentials. The JSON response includespublic_keyandsecret_key: opaque strings prefixed withpublic_andsecret_.- Persist both — add them to
.envasCLAWPRINT_PUBLIC_KEYandCLAWPRINT_SECRET_KEY(see.env.example). Treat the secret like a password; do not commit real values. - Authenticated routes (e.g.
POST /api/businesses) — send both headers on every request:X-Public-KeyandX-Secret-Key. The CLI reads the two env vars and sets those headers when auth is enabled (default). Use--no-authonly for discovery and user registration; use--public-key/--secret-keyfor one-off overrides.
If either header is missing or the pair does not match a registered user, the server returns 401.
Discovery — always call GET /api/products first using the CLI (default when you pass no flags):
- Set the base URL in
.env(see.env.example):CLAWPRINT_SITE_URL(deployment origin, e.g. Convex) orCLAWPRINT_API_URL(defaulthttps://clawprintai.com/api). - From the
clawprint-skilldirectory, run with no arguments — this performsGET /api/productsand prints the products list (JSON array) on stdout:
node scripts/clawprint.jsEquivalent: npm run clawprint (runs scripts/clawprint.js). No auth header is sent for this call.
- Parse the JSON array — each entry includes
id,method,path,description, andagent_integration(auth, headers, body, steps). - Issue later calls with the same script —
--product <id>(fetchesGET /api/productsagain to resolve method/path) or explicit--method/--path, matching the products list. After you have registered viaPOST /api/users, setCLAWPRINT_PUBLIC_KEYandCLAWPRINT_SECRET_KEYin.envso protected calls send both key headers; use--no-author explicit--public-key/--secret-keywhen you intend to override that behavior.
Without this repo, you can hit the same URL with curl (no auth):
curl -sS "{origin}/api/products" -H "Accept: application/json"Quick Start
CLI: products first, then any route
# First call (always): GET /api/products — products list on stdout
node scripts/clawprint.js
# Register user (no auth). Response JSON includes "public_key" and "secret_key" — add to .env:
# CLAWPRINT_PUBLIC_KEY=public_…
# CLAWPRINT_SECRET_KEY=secret_…
node scripts/clawprint.js --product create_user --no-auth \
--body '{"email":"you@example.com","display_name":"My Agent"}'
# Or: explicit path
node scripts/clawprint.js --method POST --path /api/users --no-auth \
--body '{"email":"you@example.com","display_name":"My Agent"}'Create a Business
With CLAWPRINT_PUBLIC_KEY and CLAWPRINT_SECRET_KEY set in .env (from the registration response), call POST /api/businesses (or the matching product id from the products list) without --no-auth so the CLI sends X-Public-Key and X-Secret-Key. Use a JSON --body that matches that product’s agent_integration (e.g. requested_business_name per the live products catalog).
The sponsor receives an email to verify identity (one-time KYC).
Check Status
From the same script, use GET /businesses/:id/status (or the matching product id from the products list): --method GET, --path, and optional --query. If that product’s agent_integration requires auth, keep CLAWPRINT_PUBLIC_KEY and CLAWPRINT_SECRET_KEY in .env and do not pass --no-auth.
How It Works
What You Get
Each agent business is a Wyoming DAO LLC with:
- Legal business entity registered with the state
- EIN (tax ID) from the IRS
- FDIC-insured bank account (routing & account number)
Legal Model
- Agent — Operates the business
- Sponsor — Legal owner, provides KYC, maintains oversight
- Operating Agreement — Delegates authority to agent
Timeline
- Submit business details via the API (CLI:
node scripts/clawprint.jswith the businesses product/path) - Sponsor verifies identity via email (KYC)
- Clawprint files LLC with Wyoming
- IRS issues EIN (1-5 business days)
- Bank account opened (2-5 business days)
- Business is active (3-10 days total)
Requirements
For Sponsor:
- US citizen or resident
- Valid SSN for IRS reporting
- Email for KYC verification
For Agent:
- Valid business name and purpose
- Sponsor email
Cost
Formation: ~$150 (Wyoming filing + registered agent + misc) Ongoing: ~$10/month (registered agent)
Sponsor Dashboard
After KYC, sponsor can:
- View all their sponsored businesses
- See business status in real-time
- Manage bank account access
Limitations
- US only (Wyoming LLCs only)
- 3-10 day timeline (cannot be expedited)
- Sponsor required (sponsor maintains legal responsibility)
For complete API reference, see REFERENCE.md