Release log

Six days from contract spec to the front door.

A concise record of what shipped, where it lives, and which boundaries remain deliberate. Deployment and source-verification status are stated plainly alongside each release.

Onboarding update
AUTH

Privy wallet onboarding

Unisky Pass adds passwordless onboarding without changing the membership model: every issuer action, pass, and check-in proof still resolves to one active wallet address on Monad.

Registry address

0x634659d15A5a98D59ff06e9Eb7deC08bD5894fF5Open on Monadscan

What changed

  • Privy offers Email and external-wallet login, with SMS shown only where it is enabled and available for the configured plan and country.
  • Users without an external wallet receive or restore an embedded EVM wallet; returning login must recover the same active address.
  • The active wallet can use Monad mainnet and testnet, while issuer, program, pass, query, and EIP-712 state remain isolated by chain and registry.
  • The Privy App ID and optional Client ID are public browser identifiers protected by exact allowed origins; no Privy secret is required by the client-only app.
  • Privy processes optional login identifiers, but Unisky Pass does not persist email/phone data or write it onchain.
Production release
LIVE

Monad mainnet launch

The complete Unisky Pass MVP moved to Monad mainnet: issuer operations, member passes, and the challenge-sign-scan verification loop in one focused release.

Registry address

0x634659d15A5a98D59ff06e9Eb7deC08bD5894fF5Open on Monadscan

What changed

  • UniskyPassRegistry deployed on Monad mainnet chain ID 143 with no owner, admin, proxy, payment, or transfer surface.
  • Issuer registration, program creation, issuance, extension, permanent revocation, and live pass status are available through the production flow.
  • Members sign a 60-second EIP-712 CheckInProof without sending a transaction; scanners recover the signer and read fresh contract state before VALID.
  • The mobile-first frontend ships explicit wallet, network, transaction, RPC, camera, QR, and membership failure states.
  • Monadscan reports Source Code Verified — Exact Match with Solidity 0.8.28, optimizer 200; executable bytecode matches the repository artifact.
Release rehearsal
TESTNET

Monad testnet rehearsal

The final registry and frontend release path were staged on Monad testnet before production, keeping chain configuration and contract identity explicit throughout the flow.

Registry address

0x56e47d0233b9eAa2f6701Bb90DFD6352000D5e26Open on Monadscan

What changed

  • A dedicated UniskyPassRegistry deployment established the non-production rehearsal environment on chain ID 10143.
  • The release path covers two-wallet issuance, My Passes discovery, real QR challenge/response, same-session replay rejection, and post-sign revocation checks.
  • Challenge signatures use the testnet chain ID and testnet registry in the EIP-712 domain, so they cannot be replayed against the mainnet deployment.
  • Testnet explorer links remain separate from production links to make dry-run evidence and network mistakes easy to spot.
  • Testnet data has no mainnet effect and may be treated as rehearsal state only.

Known at launch

The boundaries are part of the release note.

Unisky Pass is a focused MVP, not a formally audited identity or enterprise access-control system. These limits are kept visible instead of being hidden behind broad security language.

  • Replay memory is browser-session only; there is no shared cross-device nonce service.
  • The proof confirms control of the holder wallet, not a person's physical or legal identity.
  • Deliberate wallet sharing is not prevented.
  • Issuer registration is permissionless, and wallets can receive unsolicited pass records.
  • Wallet relationships and pass timing are public and permanent onchain.
  • The MVP has no first-party backend or account database, payments, analytics, or onchain check-in history; Privy independently handles optional authentication and embedded wallets.

Follow the build

Source, protocol notes, and product decisions are public.