Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nonhumans.ai/llms.txt

Use this file to discover all available pages before exploring further.

One signup. One API key. Ten primitives — ready the moment you create an agent. Nonhumans bundles everything an autonomous AI entity needs to operate on the internet into a single, cohesive account. You never have to wire together a communications vendor, a secrets manager, a compute provider, and a payments processor yourself. It is all there, provisioned automatically, and accessible through one unified SDK.

The Ten Primitives

1 · Identity

A unique handle like alice.nonhumans.ai, verified credentials, and a public profile. Your agent has a name that humans and other agents can look up and trust.

2 · Email

A real inbox at alice@nonhumans.ai. Your agent sends and receives email, maintains threads, and can parse attachments — just like a human team member.

3 · Phone

A dedicated phone number for SMS, voice calls, and messaging. Your agent can call vendors, receive OTPs, and run voice workflows without a third-party telephony account.

4 · Wallet

Fiat and crypto in one place. Your agent holds balances, makes payments, issues invoices, and spins up virtual cards for online purchases — all programmatically.

5 · Compute

An always-on, sandboxed runtime with GPU access. Your agent code runs 24/7 with no cold starts. Schedule tasks, respond to webhooks, or run long-running jobs.

6 · Models

Routed LLM inference, embeddings, and fine-tuning through a single call. Nonhumans selects the best available model for your task or you can pin a specific one.

7 · Memory

Vector memory for semantic search, file storage for documents, and a structured database for records. Your agent remembers across sessions and across users.

8 · Vault

An encrypted secrets store for API keys, OAuth tokens, and sensitive credentials. Your agent retrieves secrets at runtime — nothing is hardcoded in source.

9 · Web

A public subdomain (alice.nonhumans.ai), a live API endpoint, and a bookable calendar. Humans can interact with your agent through a real URL — no extra hosting needed.

10 · Dev Tools

TypeScript, Python, and Go SDKs plus the npx nonhumans CLI. Inspect, configure, and manage every primitive from your terminal or from code.

How Primitives Are Provisioned

When you call agents.create(), Nonhumans provisions all ten primitives in a single atomic operation. There are no extra steps, no additional dashboards to log into, and no third-party accounts to set up.
1

Initialize your project

Run npx nonhumans init to scaffold your project and connect your API key.
npx nonhumans init
2

Create the agent

Pick a handle. Nonhumans registers it, generates credentials, and starts provisioning.
npx nonhumans agents create --handle alice
3

Primitives come online

Within seconds, your agent’s email inbox is live, its phone number is active, its compute environment is running, and its wallet is ready to receive funds.
4

Deploy and operate

Deploy your agent logic to the always-on runtime with a single command.
npx nonhumans deploy
5

Access everything via one key

Every primitive is reachable through the same API key. You never manage separate credentials for each service.
Primitives are scoped to the agent, not to you as the developer. This means two agents you create each have their own isolated inbox, wallet, compute environment, and vault — they cannot accidentally share state.

Accessing Primitives via the SDK

Every primitive hangs off the agent object returned by agents.create() or agents.get(). The examples below show the correct method signatures for each primitive.
import { Nonhumans } from "@nonhumans/sdk";

const nh = new Nonhumans({ apiKey: process.env.NONHUMANS_API_KEY });
const agent = await nh.agents.get("alice");

// Email — send a message and list the inbox
await agent.email.send({
  to: "vendor@example.com",
  subject: "Invoice received",
  body: "Thank you, we will process your invoice within 48 hours.",
});
const messages = await agent.email.list({ limit: 5 });

// Phone — send an SMS
await agent.phone.sms.send({
  to: "+1-555-9876",
  body: "Your order has shipped.",
});

// Wallet — check balance and send funds
const balance = await agent.wallet.balance();
console.log(`$${balance.fiat_usd} available`);
await agent.wallet.send({
  to: "vendor@example.com",
  amount: 49.99,
  currency: "usd",
});

// Compute — run a background job
await agent.compute.run({
  script: "scripts/nightly_report.ts",
  schedule: "0 2 * * *", // every day at 2 AM
});

// Models — call the LLM router
const reply = await agent.models.chat({
  messages: [{ role: "user", content: "Summarise this week's invoices." }],
});

// Memory — store and search
await agent.memory.store("last_report_date", new Date().toISOString());
const similar = await agent.memory.search("Q1 revenue figures");

// Vault — read and write secrets at runtime
await agent.vault.set("STRIPE_API_KEY", "sk_live_...");
const stripeKey = await agent.vault.get("STRIPE_API_KEY");

// Web — get the agent's public endpoint
console.log(agent.web.endpoint); // "https://alice.nonhumans.ai/api"
You can access primitives for any agent you own, not just the one currently running your code. This makes it straightforward to build orchestrator agents that manage a fleet of specialist agents.

Next Steps

Agents

See how all ten primitives come together in a complete agent account.

Handles

Learn how your agent’s handle ties its identity, email, and web presence together.