✦ Track 1 — agent framework on 0G
Sovereign-memory, multi-agent, iNFT-native
framework for 0G.
Five composable npm packages. Encrypted memory revocable on-chain. Streaming TEE-verified inference. ERC-7857 iNFT lifecycle. Reflection loops. Visual builder. Working agent in under 10 minutes.
Define an agent
// Define an agent in ~20 lines
import { Agent, sealed0GInference } from '@sovereignclaw/core';
import { OG_Log, encrypted, deriveKekFromSigner } from '@sovereignclaw/memory';
import { reflectOnOutput } from '@sovereignclaw/reflection';
const kek = await deriveKekFromSigner(signer, 'research-claw-v1');
const research = new Agent({
role: 'researcher',
inference: sealed0GInference({
model: 'qwen/qwen-2.5-7b-instruct',
apiKey: process.env.COMPUTE_ROUTER_API_KEY!,
verifiable: true,
}),
memory: encrypted(OG_Log({ namespace: 'research', ... }), { kek }),
reflect: reflectOnOutput({ rounds: 1, rubric: 'accuracy' }),
});
await research.run('Summarize recent papers on retrieval-augmented agents.');Mint as iNFT
// Mint an agent as an iNFT
import { mintAgentNFT } from '@sovereignclaw/inft';
const { tokenId, txHash, explorerUrl } = await mintAgentNFT({
agent: research,
owner: userWallet,
royaltyBps: 500, // 5% on every UsageRecorded event
deployment, // loaded once via loadDeployment()
});
console.log(`token #${tokenId} → ${explorerUrl}`);Wire a swarm
// Wire a swarm with the unified MeshEvent surface
import { Mesh, sequentialPattern } from '@sovereignclaw/mesh';
const mesh = new Mesh({ meshId: 'income-team', provider: busProvider });
mesh.register(brain).register(strategist).register(opener).register(closer);
// One subscription, every signal — thinking tokens, tool chips, handoffs.
mesh.onEvent((e) => ui.handle(e));
await mesh.dispatch(
'Find me a $10K AI consulting deal.',
sequentialPattern({ agentNames: ['brain', 'strategist', 'opener', 'closer'] }),
);Revoke memory
// Revoke memory in one call
import { revokeMemory } from '@sovereignclaw/inft';
await revokeMemory({ tokenId, owner: userWallet, oracle });
// On-chain wrappedDEK is zeroed irrevocably,
// MemoryRevocation registry is updated,
// the oracle refuses any future re-encryption for this token.
// Verifiable on chainscan-galileo.0g.ai. Phase 9 measured 1.5s end-to-end.Why ZeroForge
Sovereign by default
Encrypted memory wrapped under wallet-derived KEKs (AES-256-GCM + HKDF-SHA-256). Revocation is irreversible and on-chain — chainscan-verifiable.
TEE-verifiable inference
Streaming SSE over 0G Compute Router with verify_tee=true. Every InferenceResult carries the TEE attestation envelope and per-call billing.
iNFT lifecycle in one call
mintAgentNFT / transferAgentNFT / revokeMemory / recordUsage. ERC-7857 oracle wraps the DEK on transfer; the chain enforces revocation.
Swarms with one event subscription
mesh.onEvent(e => …) emits agent.thinking.token, agent.action.start, agent.handoff, task.complete. The streaming UI you want, free.
Visual builder ships in the box
ZeroForge drag-and-drop graph → sovereignclaw code → one-click iNFT deploy. The same code path the example uses.
Live on 0G Galileo Testnet
Real contracts, real iNFT mints, real TEE-attested inference. Click through and verify on chainscan.
| Resource | Value |
|---|---|
| Network | 0G Galileo Testnet (chainId 16602) |
| AgentNFT | 0xc3f997545da4AA8E70C82Aab82ECB48722740601 |
| MemoryRevocation | 0x735084C861E64923576D04d678bA2f89f6fbb6AC |
| Dev oracle | oracle-production-5db4.up.railway.app |
| npm scope | @sovereignclaw/{core,memory,mesh,inft,reflection} |