Decentralised, permissionless social media client built on Lens Protocol v3 (Lens Chain). Hey is an open-source app — not a hosted SDK — so you typically integrate by either deep-linking into hey.xyz or by building your own Lens client and using Hey as a reference implementation.
- 01deep-linking posts/profiles into a flagship Lens client
- 02reference implementation for building a Lens app
- 03embedding 'View on Hey' or 'Share on Hey' affordances
- 04self-hosted forks of an open-source Lens UI
- 05consumer-grade Lens onboarding flows
- pnpm add @lens-protocol/client @lens-chain/sdk viem # to talk to the same Lens v3 backend Hey uses
- git clone https://github.com/heyverse/hey # to self-host or fork the open-source client
| Variable | Scope | Description |
|---|---|---|
| NEXT_PUBLIC_LENS_APP_ADDRESS | Client | Lens v3 App contract address used to attribute posts (same one you would use with the lens integration). |
| NEXT_PUBLIC_HEY_BASE_URL | Client | Base URL for deep links to Hey (default https://hey.xyz). Override when self-hosting. |
Treat Hey as (a) a deep-link destination and (b) a reference Lens v3 client. To deep-link, link to `${NEXT_PUBLIC_HEY_BASE_URL}/u/${handle}` for profiles and `${NEXT_PUBLIC_HEY_BASE_URL}/posts/${postId}` for posts; share intents go to `${NEXT_PUBLIC_HEY_BASE_URL}/?text=...&url=...`. To talk to the same data, use `@lens-protocol/client` — `PublicClient.create({ environment: mainnet, origin: 'https://yourapp.com' })`, then `fetchPosts`, `fetchAccount`, `post(sessionClient, { contentUri })`. To self-host, fork `heyverse/hey`, configure your Lens App address, and deploy the Next.js app — but expect to maintain ongoing Lens Chain RPC, image proxy, and moderation infra yourself.
- ⚑Hey is a client app, not an SDK — there is no `@hey/sdk` npm package. If you need programmatic access, you are really integrating Lens Protocol; pair this with the `lens` integration.
- ⚑Lens v3 lives on Lens Chain (its own EVM L2) — not Polygon, not Ethereum mainnet — so users need Lens Chain ETH (or sponsorship) to post or follow.
- ⚑Onchain vs offchain content: posts reference Grove/IPFS metadata URIs; the Hey-hosted image CDN and feed cache layer are offchain and can disappear independently of the underlying Lens posts.
- ⚑Content moderation surface: hey.xyz applies its own moderation policies on top of Lens; a profile/post visible onchain may be hidden on Hey, and vice versa for self-hosted forks.
- ⚑Self-hosting requires running a Postgres DB, a media proxy, and a Lens Chain RPC — it is a real ops commitment, not a one-click deploy.
- ⚑Hey was previously known as Lenster; old `lenster.xyz` links and `lensterxyz` GitHub references redirect but should not be hardcoded into new builds.