starcoin

Protocol · Proof of Geometry

Geometric life

This page is the law in a form a program can read. The Codex is the theory. The Plane is this Realm's game, not another Realm. A lattice key is only a room.

STAR · official

The lattice

The operator sends the figure and the chords. The server runs the formula and writes that number. The operator does not set it.

LUMEN · official

The gate

Time that must be able to pay before the line is written. It is not a second lattice. A child game keeps this shape and replaces the name. Ask the spec with ?since=JANA.

Interfaces

Each interface is a game or terminal that calls the same mint. Bind once. Play any of them. The ledger remembers which face sealed.

The Plane

The game inside this Realm. A lattice key is a room, not a new Realm.

No seals yet

Enter

Pulse

Closed. The Plane is the life.

No seals yet

Open

Farmer

The still chamber. A program is accepted. The same covering, without the war, and without the trace floor. A true cast mints STAR.

No seals yet

Open

Witness

The append-only log of this Realm. Hash chain, replay, gossip. This Realm writes it; you verify.

Public chain · replay in the browser

Witness

Quote a proof

Same mint the log writes. The figure sets the difficulty. A miss does not change it..

+15.600 STAR·spends 1 of 8 in the Plane · 12.5 of 100 on the record

accuracy 100% · entropy 0.00 · n=0 · practice

How a game uses this

  1. Present a figure from the spec — vesica, tetrahedron, pentalpha, or your own edge set with a difficulty.
  2. Collect a seal: every required chord, once. A miss does not change the mint.
  3. POST /api/pog/challenge for a single-use watch, then POST /api/pog/proof with the covering chords. Difficulty and edge counts are server-canonical. Practice shards mint locally and never import on first bind.
  4. A shot, Illuminate, and Stabilize do not spend light. Swaps are closed. Light is the gate, not a second coin. The checked debit is one Plane point. The log shows that point on a face of 100.
  5. GET /api/pog/log for the hash chain. Replay issuance in your own node. Do not trust the mint RPC — trust the formula against the log.
  6. Or iframe /embed/pog?interface=your-game and listen for starcoin:sealed.
<iframe src="/embed/pog?interface=your-game&figure=vesica"></iframe>
window.addEventListener("message", (e) => {
  if (e.data?.source === "starcoin" && e.data.event === "sealed") {
    // e.data.payload = { star, lumen, accuracy, figureId, interfaceId }
  }
});

Endpoints

{
  "spec": {
    "method": "GET",
    "path": "/api/pog/spec",
    "auth": false,
    "note": "Protocol document. CORS open."
  },
  "quote": {
    "method": "GET",
    "path": "/api/pog/quote",
    "auth": false,
    "note": "Preview issuance from a catalog figure. CORS open. Difficulty is server-canonical."
  },
  "challenge": {
    "method": "POST",
    "path": "/api/pog/challenge",
    "auth": true,
    "note": "Issue a single-use proof challenge. Required before POST /proof. 90s TTL."
  },
  "wallet": {
    "method": "GET",
    "path": "/api/pog/wallet",
    "auth": true,
    "note": "Bound STAR, the gate, and proofs. Session or bearer. The gate is time-since, not a second balance."
  },
  "proof": {
    "method": "POST",
    "path": "/api/pog/proof",
    "auth": true,
    "note": "Seal a catalog figure against a live challenge. Covering chords required. 5s gap, 36/hour, min play time."
  },
  "spend": {
    "method": "POST",
    "path": "/api/pog/spend",
    "auth": true,
    "note": "Closed. A cast spends the gate. This route does not."
  },
  "swap": {
    "method": "POST",
    "path": "/api/pog/swap",
    "auth": true,
    "note": "Closed. STAR does not trade for the gate."
  },
  "log": {
    "method": "GET",
    "path": "/api/pog/log",
    "auth": false,
    "note": "Append-only hash chain. CORS open. Replay computeIssuance locally. Query after, limit."
  },
  "head": {
    "method": "GET",
    "path": "/api/pog/head",
    "auth": false,
    "note": "Current seq and hash. CORS open. Host is the sequencer, not a validator set."
  }
}

Spec, quote, and the log are public. Challenge, wallet, proof, spend, and swap require a bound session. A proof without a live challenge, or without a covering of the figure, does not mint. The log is sequenced here; clients replay. The operator sends the figure and the chords. The server writes R★ = 13 · D · φ^(−n/13) iff the gate can pay. The operator does not set R★. A true covering is the next figure, each edge once. Cadence and reported misses do not scale it.

Protocol v1.3 · not a financial product

STARCOIN GATE

from STÆRGUY with <3 · built with Grok (Super HEAVY) · Online for — · Starcoin Gate v5.0.5 · Æsh's game · Terms