Introduction
What Intuition is, what an atom is, and why identity comes first and conviction later.
Intuition is a toolkit for building the world's knowledge graph. Anything you can name — a song, a repo, a person, a token — becomes an atom with a deterministic ID. Triples connect atoms into claims. You build the entire graph offchain, for free, and publish a record onchain only when it has earned conviction.
The toolkit is ten TypeScript packages under @0xintuition/* — ESM-only, tree-shakeable, viem-native, MIT-licensed. Not a monolithic SDK: a layered toolkit where the pure-TypeScript layers never touch a chain, and the protocol layers add markets when your app is ready.
The inversion#
Onchain data has always worked one way: connect a wallet, pay gas, get one record onchain. Intuition inverts the sequence. Paste anything and you have an atom ID — instant, free, no wallet, no gas, no network call. Classify it, enrich it, connect it. Going onchain isn't a migration; it's the moment conviction crosses a threshold.
Identity first. Conviction later.
Three ideas to hold#
IDs are pure functions. calculateAtomId is salted keccak256 over an atom's bytes. Same content, same ID — in your app, in anyone else's, and onchain. Your offchain work is never throwaway, because nothing migrates. See Deterministic IDs.
Description is standardized. 37 classifications and a curated registry of predicates — 25 enshrined, 108 proposed — give every app the same words for the same things, built on a pinned superset of schema.org. schema.org tells us what exists. Intuition decides what it recommends. Both registries are browsable in full at /classifications.html and /predicates.html.
Onchain makes a record multiplayer. Each published atom gets a vault on a bonding curve, its own Ethereum address, and a permanent, immutable home in a shared graph. TRUST deposits price conviction; counter-triples carry disagreement. See Offchain to Onchain.
The data-model layer#
Four packages carry the model, each answering exactly one question:
| Package | Question |
|---|---|
@0xintuition/schema-org |
what exists? |
@0xintuition/classifications |
what atom data do we recommend? |
@0xintuition/predicates |
what triples do we support? |
@0xintuition/ids |
how do these get deterministic IDs? |
The rest of the toolkit — primitives, protocol, deployments, react, periphery, curves — turns that data into atoms and triples, takes them onchain, and brings them into your app.
Note: these packages ship on the
alphadist-tag (@0xintuition/protocolis stable at v3.0.0). APIs may move; identities will not — IDs are derived from bytes, not versions.
Where to start#
Run the Quickstart — a real atom ID from a pasted URL in under five minutes — then read Atoms and Triples & Predicates for the mental model. Longer-form writing lives in the articles.