Sign in

Scan the QR with the phone app or the desktop app, or copy the code into the app.

How this works

This page mints the sign-in link when you press Sign in with PCOC, holds the browser session, and shows the outcome. The PCOC app shows https://groundinglab.io, chooses its own hike object, signs, and posts once to the Admission Gate. It does not post the scanned link. The outcome appears here. Install the demo APK from Demonstrations if the phone does not have the app yet.

The Gate checks the object's recorded work and applies its admission policy. Its public record is the portable index of Bitcoin headers. It does not measure the maker's spend. Welcome opens when the check settles that way. Any other settled outcome is one short phrase.

For developers

After you press Sign in with PCOC, the page draws a 32-byte nonce and sets exp to the floor of the page clock in seconds, plus 120. The code and the paste line are the same link: https://groundinglab.io/sign-in/?v=1 with nonce and exp, in that order. v stays 1. The link has no other parameter and does not name the door. New code, and expiry, draw another nonce. The app chooses its own hike object.

The phone posts one JSON object to POST https://admission.groundinglab.io/v1/sign-in. The fields are origin, nonce, exp, object, object_b64, and signature. The phone does not post the scanned link.

Gate https://admission.groundinglab.io

This page reads GET /v1/sign-in/result/ and the nonce. It shows the outcome words from section 15.1. accepted stores a browser token for five minutes and opens /welcome/. The gate does not mint that token. Sign out is on that page and clears only the token. An unfinished wait stays progress.

Progress

    Result

    This page has no session.

    The code appears after you press the button.

    
            

    Integrate

    The ways to integrate are on Demonstrations. How to add a sign-in button or an admission gate is on Technical.