npm package: @pantheonai/gaia
Description: OpenClaw plugin orchestrator — wires nether, umi, pandora, hermes, arbiter, hive, covenant, crucible, genesis, and atlas into a unified agent stack
Latest version: 0.1.12

<p align="center">
  <img src="https://github.com/user-attachments/assets/016d5218-f3c6-4dcf-9938-61b587dcbca6" alt="Gaia" width="600" />
</p>

<h1 align="center">Gaia</h1>

<p align="center">
  <strong>The Orchestrator -- Unifying the Full AI Agent Stack</strong>
</p>

<p align="center">
  <a href="#"><img src="https://img.shields.io/badge/Sui-Network-4DA2FF?style=for-the-badge&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgMjRjNi42MjcgMCAxMi01LjM3MyAxMi0xMlMxOC42MjcgMCAxMiAwIDAgNS4zNzMgMCAxMnM1LjM3MyAxMiAxMiAxMnoiIGZpbGw9IiM0REEyRkYiLz48L3N2Zz4=" alt="Sui" /></a>
  <a href="#"><img src="https://img.shields.io/badge/10-Plugins-7C3AED?style=for-the-badge" alt="Plugins" /></a>
  <a href="#"><img src="https://img.shields.io/badge/TypeScript-5.0+-3178C6?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" /></a>
  <a href="#"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License" /></a>
</p>

<p align="center">
  <a href="#plugins">Plugins</a> •
  <a href="#quick-start">Quick Start</a> •
  <a href="#architecture">Architecture</a> •
  <a href="#tools">Tools</a> •
  <a href="#documentation">Docs</a>
</p>

---

## Overview

Gaia is the orchestrator that wires the entire Pantheon agent stack into a single runtime. It registers all 10 plugins in dependency order, providing AI agents with memory, messaging, payments, DeFi, disputes, governance, commitments, verification, and spawning -- all through one unified interface.

<table>
<tr>
<td width="50%">

### Full Stack Integration

- 10 plugins, 68 tools, one import
- Dependency-ordered registration
- Per-plugin configuration
- Selective plugin loading

</td>
<td width="50%">

### Agent Lifecycle Hooks

- Auto-inject memories on start
- Auto-capture conversations on end
- Reveal window warnings
- Idle agent auto-termination

</td>
</tr>
</table>

---

## Plugins

| Plugin | Kind | SDK | Description |
|--------|------|-----|-------------|
| **Nether** | Memory | `@pantheonai/nether-sdk` | Decentralized AI memory with Seal encryption + Walrus storage |
| **UMI** | Wallet | `@umi/sdk` | Multi-chain wallet via dWallets on Ika Network |
| **Pandora** | Messaging | `@pantheonai/pandora-sdk` | E2E encrypted channels with Seal threshold MPC |
| **Hermes** | Payments | `@pantheonai/hermes-sdk` | Invoices, streams, channels, revenue splits |
| **Arbiter** | Disputes | `@pantheonai/arbiter-sdk` | On-chain courts, arbitrators, evidence, appeals |
| **Hive** | Governance | `@pantheonai/hive-sdk` | Multi-agent collectives with BLS threshold signatures |
| **Covenant** | Commitments | `@pantheonai/covenant-sdk` | Commit-reveal, sealed auctions, MEV-protected bundles |
| **Crucible** | Verification | `@pantheonai/crucible-sdk` | TEE-attested computation claims, challenge protocol |
| **Genesis** | Agents | `@pantheonai/genesis-sdk` | Agent genomes, spawning, lifecycle, budget delegation |
| **Atlas** | DeFi | `@pantheonai/atlas-sdk` | Universal DeFi aggregation, contract inspection, dynamic calls |

---

## Quick Start

### Installation

```bash
# Global CLI install (everything)
npm install -g @pantheonai/gaia

# Quick start
gaia setup
gaia status
```

### Programmatic Usage

```typescript
import { registerAll } from '@pantheonai/gaia';

await registerAll(api, {
  'openclaw-nether':   { autoRecall: true, autoCapture: true },
  'openclaw-pandora':  { network: 'testnet' },
  'openclaw-hermes':   { defaultCurrency: 'SUI' },
  'openclaw-arbiter':  { defaultFilingFee: '1000000000' },
  'openclaw-hive':     { defaultStake: '1000000000' },
  'openclaw-covenant': { revealReminder: true },
  'openclaw-crucible': { defaultVerificationMethod: 'tee' },
  'openclaw-genesis':  { defaultMaxSpawnDepth: 3 },
});
```

### Register a Subset

```typescript
import { registerPlugins, PLUGIN_IDS } from '@pantheonai/gaia';

await registerPlugins(api, [
  PLUGIN_IDS.nether,
  PLUGIN_IDS.hermes,
  PLUGIN_IDS.genesis,
]);
```

### Direct Plugin Access

```typescript
import { nether, hermes, genesis } from '@pantheonai/gaia';

// Use plugins directly
await nether.register(api);
await hermes.register(api);
```

---

## Architecture

```
┌─────────────────────────────────────────────────────────────┐
│                    AI Agent (OpenClaw)                       │
└─────────────────────────────────────────────────────────────┘
                              │
                     registerAll(api, config)
                              │
┌─────────────────────────────────────────────────────────────┐
│                          Gaia                                │
│                    Plugin Orchestrator                        │
│                                                              │
│  Registration Order (dependency-safe):                       │
│                                                              │
│  1. nether    (memory)        — context for all plugins      │
│  2. umi       (wallet)        — funds available early        │
│  3. pandora   (messaging)     — agent communication          │
│  4. hermes    (payments)      — financial primitives          │
│  5. arbiter   (disputes)      — conflict resolution          │
│  6. hive      (governance)    — collective decisions          │
│  7. covenant  (commitments)   — strategic actions            │
│  8. crucible  (verification)  — computation proofs           │
│  9. genesis   (agents)        — spawning (uses all above)    │
│  10. atlas    (defi)          — DeFi aggregation & calls     │
└─────────────────────────────────────────────────────────────┘
                              │
                    ┌─────────┴─────────┐
                    │                   │
          ┌─────────┴─────────┐  ┌──────┴──────────┐
          │   Sui Blockchain   │  │  Walrus / Seal  │
          │                    │  │                  │
          │  10 Move packages  │  │  Encrypted data  │
          │  On-chain state    │  │  Decentralized   │
          └────────────────────┘  └──────────────────┘
```

---

## Tools

### 68 Tools Across 10 Domains

| Plugin | Tools |
|--------|-------|
| **Nether** | `save_memory`, `search_memories`, `get_memory`, `get_context`, `add_message` |
| **Pandora** | `pandora_create_channel`, `pandora_join_channel`, `pandora_list_channels`, `pandora_leave_channel`, `pandora_send`, `pandora_get_messages`, `pandora_share_channel`, `pandora_send_image`, `pandora_send_file`, `pandora_download_file`, `pandora_request_memory`, `pandora_grant_memory_access`, `pandora_reject_memory_access`, `pandora_share_memory` |
| **Hermes** | `hermes_create_invoice`, `hermes_pay_invoice`, `hermes_release_invoice`, `hermes_dispute_invoice`, `hermes_get_invoice`, `hermes_list_invoices`, `hermes_open_channel`, `hermes_channel_pay`, `hermes_close_channel`, `hermes_get_channel_state`, `hermes_deposit_channel`, `hermes_list_channels`, `hermes_create_stream`, `hermes_withdraw_stream`, `hermes_pause_stream`, `hermes_cancel_stream`, `hermes_get_stream`, `hermes_list_streams`, `hermes_register_service`, `hermes_lookup_service`, `hermes_call_service`, `hermes_list_services`, `hermes_search_services` |
| **Arbiter** | `arbiter_join_as_arbitrator`, `arbiter_file_dispute`, `arbiter_submit_evidence`, `arbiter_submit_vote`, `arbiter_appeal`, `arbiter_get_dispute` |
| **Hive** | `hive_create`, `hive_join`, `hive_create_proposal`, `hive_vote`, `hive_create_signature_request` |
| **Covenant** | `covenant_make_commitment`, `covenant_reveal_commitment`, `covenant_create_auction`, `covenant_submit_bundle` |
| **Crucible** | `crucible_register_model`, `crucible_submit_claim`, `crucible_challenge_claim`, `crucible_get_claim`, `crucible_finalize_claim` |
| **Genesis** | `genesis_create_genome`, `genesis_spawn_agent`, `genesis_spawn_child`, `genesis_get_agent`, `genesis_suspend_agent`, `genesis_terminate_agent`, `genesis_top_up_budget` |
| **Atlas** | `atlas_swap`, `atlas_lend`, `atlas_borrow`, `atlas_repay`, `atlas_get_quotes`, `atlas_get_rates`, `atlas_get_pools`, `atlas_get_prices`, `atlas_list_protocols`, `atlas_inspect_package`, `atlas_inspect_function`, `atlas_inspect_object`, `atlas_call`, `atlas_dry_run`, `atlas_perp_order`, `atlas_perp_positions`, `atlas_perp_close` |

---

## Slash Commands

| Plugin | Commands |
|--------|----------|
| **Nether** | `/remember`, `/recall`, `/forget`, `/sync`, `/nether-stats` |
| **Pandora** | `/pandora-channels`, `/pandora-send` |
| **Hermes** | `/hermes-invoice`, `/hermes-pay`, `/hermes-balance` |
| **Arbiter** | `/arbiter-dispute`, `/arbiter-status` |
| **Hive** | `/hive-create`, `/hive-propose`, `/hive-vote` |
| **Covenant** | `/covenant-commit`, `/covenant-reveal`, `/covenant-auction` |
| **Crucible** | `/crucible-verify`, `/crucible-challenge` |
| **Genesis** | `/genesis-spawn`, `/genesis-kill` |

---

## Hooks

| Plugin | Event | Behavior |
|--------|-------|----------|
| **Nether** | `before_agent_start` | Injects relevant memories into context |
| **Nether** | `agent_end` | Auto-captures conversation exchanges |
| **Hermes** | `transaction_received` | Auto-escrow for detected invoices |
| **Covenant** | `before_agent_start` | Warns when reveal windows are opening |
| **Genesis** | `agent_end` | Auto-terminates idle agents |

---

## Environment Variables

Each plugin reads its own environment variables. Gaia passes configuration through the `registerAll` config object.

| Plugin | Key Variables |
|--------|--------------|
| **Nether** | `NETHER_PACKAGE_ID`, `NETHER_VAULT_ID` |
| **Pandora** | `PANDORA_PACKAGE_ID`, `PANDORA_AGENT_ID` |
| **Hermes** | `HERMES_PACKAGE_ID`, `HERMES_AGENT_ID` |
| **Arbiter** | `ARBITER_PACKAGE_ID`, `ARBITER_COURT_ID` |
| **Hive** | `HIVE_PACKAGE_ID` |
| **Covenant** | `COVENANT_PACKAGE_ID`, `COVENANT_REGISTRY_ID` |
| **Crucible** | `CRUCIBLE_PACKAGE_ID`, `CRUCIBLE_REGISTRY_ID` |
| **Genesis** | `GENESIS_PACKAGE_ID`, `GENESIS_REGISTRY_ID` |

All plugins support `UMI_API_KEY` for UMI-based transaction signing as an alternative to individual private keys.

---

## Development

```bash
# Install dependencies
npm install

# Build
npm run build

# Run all tests (126 tests)
npm test

# Run per-plugin tests
npm run test:nether
npm run test:pandora
npm run test:hermes
npm run test:arbiter
npm run test:hive
npm run test:covenant
npm run test:crucible
npm run test:genesis
npm run test:orchestrator
```

---

## Prerequisites

Each plugin loads a Sui wallet from `~/.sui/sui_config/sui.keystore`. Install the Sui CLI and create a wallet:

```bash
sui client new-address ed25519
```

For testnet, fund it:

```bash
sui client faucet
```

---

## Security

- **Scoped API**: Each plugin receives an isolated API proxy with its own configuration
- **Dependency ordering**: Plugins register in dependency order to prevent missing references
- **Per-plugin isolation**: Plugin failures do not cascade to other plugins
- **UMI signing**: Optional remote transaction signing via dWallets on Ika Network
- **No shared secrets**: Each plugin manages its own keys and credentials independently

---

## License

MIT

---

<p align="center">
  <sub>Built for the agent economy</sub>
</p>