Skip to content
PlaceCoin

Docs

How PlaceCoin works

Everything that happens on PlaceCoin is either verifiable on-chain or labelled honestly. This page explains the mechanics, the exact verification formats and the rules.

How it works

PlaceCoin lets anyone launch a Solana coin on pump.fun for a real-world place — a café, gym, bar, shop or venue — found through OpenStreetMap (or Google Places when enabled) or a pasted Google Maps link. Each place can have exactly one coin.

Creator fees use pump.fun's native fee sharing. Until claimed, 100% of creator fees go to the PlaceCoin escrow (it owes the owner 80% and the launcher 10%). When the owner is verified, the split switches on-chain to 80/10/10 permanently and the escrow pays out the backlog.

Community-launched coins are not affiliated with or endorsed by the venue until claimed. Every place page shows the claim status.

Launching

  • Search a place or paste a Google Maps link (/maps/place/<Name>/@lat,lng, ?q=lat,lng, !3d…!4d… and maps.app.goo.gl short links are supported).
  • Confirm the place, choose a name and ticker (suggested from the place name), an optional image (otherwise a place card is generated) and an optional dev buy (0–5 SOL).
  • PlaceCoin builds unsigned transactions with the official @pump-fun/pump-sdk. Your browser signs them with your wallet plus a fresh mint keypair generated locally (or an uploaded vanity keypair). No private keys are ever held by the server.
  • The coin is created with the PlaceCoin escrow wallet as its pump.fun creator. You (the launcher) sign and pay, and receive any dev-buy tokens; the creator fee from your dev buy also goes to the escrow. A second transaction creates the coin's fee-sharing config with the escrow as its only shareholder and authority.
  • The server verifies everything on-chain before the coin appears on the map. If the fee-setup transaction did not land, the coin is marked needs_fee_setup and the launcher is offered a retry.

Owner verification

The owner proves control with one of three methods. Each claim gets a unique code of the form pc-XXXXXXXXXX.

1 · DNS TXT record

Add a TXT record on the domain of the website listed for the place (OSM website / contact:website tag, or the Google listing):

Host:  _placecoin.yourdomain.com
Type:  TXT
Value: placecoin-verify=pc-XXXXXXXXXX

Lookups use DNS-over-HTTPS (Cloudflare, falling back to Google). The domain must match the listed website (registrable domain, www ignored); otherwise the claim goes to admin review.

2 · Website file

URL:     https://yourdomain.com/.well-known/placecoin.txt
Content: pc-XXXXXXXXXX

Fetched over HTTPS only, with an 8 second timeout and a 4 KB limit; private network addresses are refused. Same domain rule as DNS.

3 · In-venue claim poster

Download the printable poster (place name, coin, QR code to the place page and the claim code in large type), put it up inside the venue and upload a photo. An AI vision pre-check reads the code and judges whether the photo plausibly shows the venue interior; an admin always makes the final decision — photos are never auto-approved.

Pending DNS and file claims are re-checked automatically every 10 minutes for 48 hours.

Fee split & escrow

Until claimed, 100% of creator fees go to the PlaceCoin escrow (it owes the owner 80% and the launcher 10%). When the owner is verified, the split switches on-chain to 80/10/10 permanently and the escrow pays out the backlog.

PartyBefore claimAfter claim (locked)
PlaceCoin escrowReceives 100% on-chain0% — pays out the backlog once
Venue owner80% owed by the escrow80% to the owner wallet
Launcher10% owed by the escrow10% to the launcher wallet
Platform10% kept by the escrow10% to the platform wallet

pump.fun fee sharing allows exactly one share update per coin, made by the fee-sharing authority (the escrow), after which the split is locked forever. PlaceCoin reserves that single update for the verified owner. Default shares are shown; the values for each coin are read live from the chain on its place page.

Distribution is permissionless: anyone can press “Distribute fees” on a place page (when pump.fun reports enough has accrued) and pay the small network fee. Every distribution is indexed, and the escrow's debt per coin is computed from what it received before the switch, minus verified payouts.

When a claim is approved, the escrow wallet signs two transactions in the browser: the permanent updateFeeShares to [owner 80%, launcher 10%, platform 10%] (pending fees are distributed to the escrow first), then a single transfer paying the owner's 80% and the launcher's 10% backlog. The server verifies both on-chain before marking the claim complete.

On-chain proof

  • Fee-sharing config — each place page links the sharing-config account and lists the shareholders read from chain. Before a claim the escrow is the sole shareholder and authority; after the switch the authority is revoked and the split is locked.
  • Distributions — every distribution transaction is listed with its Solscan link.
  • Payouts — completed claims link both the share-update and the backlog payout transactions.
  • Escrow — the escrow wallet is public and is each coin's pump.fun creator; anyone can inspect its balance against what it owes owners and launchers.

Eligibility

Sensitive places cannot have a coin. Search results show them as “not eligible”:

  • Hospitals and clinics
  • Schools, kindergartens and universities
  • Places of worship
  • Government buildings and town halls, courthouses, embassies
  • Police and fire stations, military sites, prisons
  • Cemeteries

One coin per place, enforced by the place's unique id. Launches are rate limited.

Safety & disclaimers

  • Not financial advice. Coins on pump.fun are speculative and can lose all of their value.
  • Not endorsed until claimed. Community-launched coins are not affiliated with or endorsed by the venue until its owner claims them.
  • Trademarks belong to their owners. Place names are used only to identify the location.
  • Nothing is faked. Prices, volumes, fees and claims come from the chain and public market APIs. The demo place is clearly labelled SIMULATED.
  • Owners who want a coin removed from listings or have a dispute can claim the place, or contact PlaceCoin.

API

Public JSON endpoints (camelCase, ISO times, SOL as numbers):

GET  /api/places?bbox=minLng,minLat,maxLng,maxLat&q=&category=&claimed=&sort=newest|mcap|fees
GET  /api/places/:id                 # id = place id or coin mint
GET  /api/places/:id/fees            # shareholders, pending, distributed, escrow owed
GET  /api/places/:id/activity
GET  /api/places/search?q=&lat=&lng=
POST /api/places/resolve {mapsUrl}
GET  /api/stats
GET  /api/activity?limit=
GET  /api/stream?placeId=            # Server-Sent Events, event: activity
GET  /api/leaderboard?board=fees|newest|claimed
GET  /api/config

Authenticated actions (launch, claims, admin) use Sign-In With Solana. Launch a coin or explore the map.