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.