Using gridz.bio
After you claim a profile, you have two public names for the same identity and three ways to interact with it: the website, the JSON API, and the open-source libraries.
Your URLs
| What | Example | Purpose |
|---|---|---|
| ENS name | kevin.gridz.eth | On-chain identity; resolves via Ethereum ENS. |
| Profile page | https://kevin.gridz.bio | Human-readable page; same data as ENS. |
| Canonical path | https://gridz.bio/kevin.gridz.eth | Works on the apex domain too. |
| JSON API | https://gridz.bio/api/profile/kevin.gridz.eth | Machine-readable Grid JSON for apps and bots. |
Draft vs on-chain
When you edit a profile in the browser, there are two stages:
- Sign & save draft — your wallet signs the Grid locally. The result is stored in this browser only (localStorage). You'll see a Draft badge. Other people and the API cannot see it yet.
- Publish to ENS — after signing, the site sends your signed Grid to the server, which writes EAS attestations on Ethereum. This takes about a minute (several on-chain transactions). When done, you'll see an On-chain badge and your profile is public everywhere.
If the API returns Profile not found but you see a Draft badge, you haven't finished publishing yet — or you're on a different browser than the one that saved the draft.
Editing
- Visit your page (
https://you.gridz.bio) and click Edit profile. - Connect the same wallet you used to sign originally.
- Update fields, sign again, and publish to push changes on-chain.
Embed a profile in your app
Fetch the Grid JSON, then render with a Gridz UI package:
// 1. Fetch
const res = await fetch("https://gridz.bio/api/profile/kevin.gridz.eth");
const { grid } = await res.json();
// 2. Render (React)
import { Grid } from "@gridz/react";
import "@gridz/react/styles.css";
<Grid grid={grid} />Also available: @gridz/vue, @gridz/svelte, and the framework-agnostic <gridz-profile> web component (@gridz/element). See API & integrations and Toolkit.
Verify without trusting gridz.bio
Download the JSON from the API (or copy it from your browser), then verify signatures offline — no RPC or server required. See Verification.