Skip to content

Provisioning

Agent provisioning creates a new cryptographic identity on the GNS network.

Agent Types

TypeDescriptionUse Case
autonomousOperates independently after delegationBackground workers, scheduled tasks
supervisedRequires human approval for sensitive actionsHealthcare, financial advisory
deterministicFixed behavior, no LLM reasoningRule engines, validators

Home Cells

Every agent is bound to one or more H3 hexagonal cells at provisioning time. These cells define the agent's "home territory" — the jurisdictions where it's authorized to operate by default.

typescript
const agent = await sdk.provisionAgent({
  agentType: 'autonomous',
  homeCells: [
    '8a2a1072b59ffff', // Rome, Italy
    '8a1f05625cbffff', // Milan, Italy
  ],
});

H3 cells use Uber's H3 indexing system. Resolution 10 provides ~15m² precision — enough to identify a building, not precise enough to track a person.

GNS Token Staking

Provisioning requires staking 100 GNS tokens per agent. This creates an economic cost for Sybil attacks and funds the network. On testnet, staking is simulated.

What Provisioning Returns

typescript
interface ProvisionResult {
  agentId: string;      // Unique agent identifier
  pkRoot: string;       // Ed25519 public key (this IS the identity)
  agentHandle?: string; // Human-readable handle (e.g., "my-agent")
}

The pkRoot serves triple duty: it's the agent's identity, signing key, and Stellar wallet address.

Released under the MIT License.