kin

Docs

Post it. Coin it.

kin is a visual social network on Robinhood Chain. Every image you publish launches a real PONS memecoin. People don’t collect the post — they trade it.

What kin is

kin is a visual social network on Robinhood Chain. Every post you publish launches a real PONS memecoin. People don’t collect the post — they trade it. kin does not deploy its own token contracts. Your wallet talks to the official PONS v2 factory; profiles, captions, and the feed live here.

The loop

  1. 01

    Connect

    MetaMask, Phantom, or WalletConnect. On mobile use the wallet app or WalletConnect — kin adds Robinhood Chain (4663) if it isn’t there yet.

  2. 02

    Profile

    Your address is the identity. Pick a username, display name, bio, and picture.

  3. 03

    Post

    Upload an image and a caption. Optional coin name and ticker — we fill them from the caption if you skip them.

  4. 04

    Launch

    Publishing calls PONS launchAndBuy on Robinhood Chain. The new token and curve addresses are saved with the post.

  5. 05

    Feed

    The post appears on Home and Explore with ticker, market cap, contract, and a Buy button.

  6. 06

    Trade

    Anyone opens the post and buys or sells the coin on the PONS bonding curve. Confirmed only means the chain receipt succeeded.

Wallet & chain

Connect with MetaMask, Phantom, or WalletConnect. kin is Robinhood Chain only — chain ID 4663, native gas is ETH. After you connect, the app switches you over, or prompts the wallet to add the network.

You need a little ETH on Robinhood Chain. A launch costs the PONS launch fee (about 0.0005 ETH) plus a tiny opening buy (0.00001 ETH) so the coin is live on the curve. Trades need extra ETH for the buy and gas.

Wallet safety

kin never imports a wallet, never asks for a seed phrase, and never stores a private key. You connect the extension you already have (MetaMask, Rabby, Phantom, and so on). Keys stay in that extension. This site only asks it to sign.

  • Allowed signatures — PONS launchAndBuy, curve buy, curve sell, and an ERC-20 approve for the exact sell amount to that post’s PONS curve.
  • Nothing else — no arbitrary ETH sends, no other contracts, no unlimited approvals, no message signing.
  • Curve is re-checked — before a trade, kin asks the official PONS factory which curve belongs to the token. The wallet is only prompted if that matches.
  • You still confirm — every spend pops in your wallet. If you don’t recognize the PONS contract, reject it.

Profiles

There are no emails. Your wallet address is the account. The first time you connect, kin asks for a username (3–20 letters, numbers, or underscores), a display name, and a bio. You can add a picture later from your profile.

Public profiles live at /[username]. They show posts you’ve created and the coins those posts launched.

Create a post

Go to /create. Drop an image, write a caption, optionally set a coin name and ticker. Publish does four things in order:

  1. Uploads the image (and pins to IPFS if a Pinata key is set).
  2. Builds a PONS launchAndBuy transaction in the browser — never from a server.
  3. Asks your wallet to sign. Status: Preparing → Wallet confirmation → Submitted → Confirmed.
  4. Reads the on-chain TokenLaunched event, then saves the post with the token and curve addresses.

If PONS has public launches closed, canLaunch(yourWallet) returns false and kin stops before asking for a signature. If the transaction reverts, you will see Failed — never a fake success.

Feed & explore

Home is a single column of post cards: creator, image, caption, time, ticker, market cap, contract, share, Buy. Clicking a card opens /post/[id] with a larger image, creator, token links, and the trade panel.

Explore has Trending, New, Top creators, and Top post coins. Rankings use on-chain market cap from the PONS curve when the RPC answers; otherwise the card still shows, with “—” for mcap until a quote lands.

Trading

Buys and sells go straight to that post’s PONS bonding curve — the curve address kin stored at launch, then re-checked against the factory so the wallet can only be asked to talk to the real curve.

  • Buy — you spend ETH, the curve sends tokens to your wallet.
  • Sell — you approve the curve, then sell tokens back for ETH.

Quotes are computed locally from curve reserves (PONS has no quote() on the curve). Confirmed means waitForTransactionReceipt returned success. Rejected, reverted, or RPC timeout is Failed.

On-chain vs off-chain

On-chain
Token, bonding curve, launch, buy, sell, balances, market cap
Off-chain
Username, bio, picture, caption, image file, which post maps to which token
Not invented
No custom kin contracts. Official PONS v2 only.

Locally, posts and profiles can live in data/store.json and images in public/uploads. On Vercel that disk is ephemeral, so production uses Railway Postgres (DATABASE_URL) for profiles and posts, and Pinata / IPFS for images.

Deploy

App on Vercel. Database on Railway. Images on Pinata. Copy the Railway public Postgres URL — not the*.railway.internal host, which Vercel cannot reach.

  1. Create a Postgres service on Railway and copy the public DATABASE_URL.
  2. Get a Pinata JWT so post images persist (Vercel has no lasting disk).
  3. Push the repo to GitHub, import it in Vercel, framework Next.js.
  4. Set Vercel env vars: DATABASE_URL, PINATA_JWT, NEXT_PUBLIC_SITE_URL (your https domain). Optionally PINATA_GATEWAY and NEXT_PUBLIC_ROBINHOOD_RPC_URL.
  5. Deploy. Tables are created on first request. Open the site, connect a wallet, post.

Contracts & fees

Robinhood Chain · PONS v2. Creator tax is 1% on curve trades. Protocol fees are whatever PONS already takes.