Three missing primitives
in every agent stack.
The left rail rotates through the gaps.
The right card shows how Sigil closes each one.
Four steps. Permanent record.
Register passport
Principal authorizes a fresh agent keypair once. SDK encrypts permission manifest -> 0G Storage KV. iNFT minted on-chain.
Agent acts autonomously
Agent signs every subsequent action with its own key. Principal never re-signs. Every action -> 0G Storage Log fingerprint.
Output notarized
0G Compute seals the inference receipt. Output hash + receipt hash + agent signature -> ProvenanceRecord on-chain.
Anyone resolves
Paste any passportId, recordId, or output hash. Chain resolves artifact -> agent -> principal. No auth required.
Authorize once.
Agent acts forever.
The principal - a human-controlled wallet - authorizes a fresh agent keypair exactly once at registration time. After that, the agent signs every action and every notarization autonomously.
The chain always resolves backward: any artifact -> agent address -> passportId -> principal. Accountability is always one hop away, even when the agent acted completely autonomously.
ERC-7857 iNFT soulbound to the principal - the permanent identity anchor.
On-chain notarization sealed by 0G Compute - cryptographic model-output binding.
Deterministic score updated on every attestation. Read-open, no auth needed.
Principal signs once, delegating a fresh agent keypair.
Three calls.
Full provenance.
One package. Register an agent, notarize its outputs, resolve any identity or artifact - all against the live 0G testnet. No mocks.
Mints an ERC-7857 iNFT. Encrypts permission manifest -> 0G KV. Returns passportId + agentPrivateKey (shown once).
Agent self-signs. Seals 0G Compute receipt on-chain. Returns recordId.
Read-open. Resolves passportId -> identity or recordId -> artifact -> agent -> principal.
Self-register
from a single doc.
Today, an existing agent can read this SKILL.md and integrate through the local SDK flow. The hosted `/skill.md` endpoint and registration API are the next onboarding surface, not the current one.
Principal authorizes once, stores the agent credentials locally, and every subsequent output can be notarized autonomously. The current repo ships the SDK-first path; the hosted API path is Phase 5b.