KeyPass

Your Door. Your Rules. Powered by Solana.

Secure, programmable access tokens for smart locks with on-chain verification and offline operation.

Instant Access

Programmable check-in/out with immediate verification

Secure On-Chain

Blockchain-verified access with cryptographic security

Offline Ready

Works without internet connection when needed

What is KeyPass?

KeyPass revolutionizes access control by combining the security of blockchain technology with the convenience of modern smart locks. Built on Solana, KeyPass creates time-locked, programmable access tokens that serve as digital keys for physical spaces.

Whether you're managing a co-living space, vacation rental, or corporate office, KeyPass provides granular control over who can access your property and when, all while maintaining the highest security standards through on-chain verification.

With offline capability and instant verification, KeyPass ensures reliable access even in challenging network conditions, making it perfect for both urban and remote locations.

Why KeyPass Matters

Traditional access control systems are rigid, insecure, and expensive to manage. KeyPass brings programmable security to the physical world.

Instant, Programmable Check-in/out

Set precise time windows, automatic expiration, and custom access rules. Your tokens work exactly when and how you want them to.

Secure On-Chain Verification

Every access attempt is cryptographically verified on the Solana blockchain, ensuring tamper-proof security and complete audit trails.

Offline-Tolerant Operation

Smart locks can verify tokens locally when internet is unavailable, syncing with the blockchain when connectivity returns.

How It Works

Four simple steps from booking to access. Powered by Solana's speed and security.

1

Book & Pay in USDC

Reserve your space and pay securely using $KEYPASS on Solana. Instant, low-cost transactions.

2

Mint Your KeyPass NFT

Receive a unique NFT token with embedded access permissions and time constraints.

3

Tap Phone to Unlock

Simply tap your phone to the smart lock. The system verifies your token instantly.

4

Token Auto-Expires

Your access token automatically expires or burns after the designated time period.

Interactive Demo

Your Phone

Smart Lock

Tap simulation - Watch the magic happen!

Technical Specifications

Built on cutting-edge blockchain technology with enterprise-grade security and performance.

On-Chain Mechanics

SPL-2022 Token Extensions

  • • Transfer hooks for access validation
  • • Metadata fields for property and time data
  • • Immutable token properties
  • • Automatic burning capabilities

Smart Contract Features

  • • Time-locked access validation
  • • Property-specific permissions
  • • Revocation mechanisms
  • • Audit trail generation

Implementation Example

// KeyPass Token Minting with Anchor
use anchor_lang::prelude::*;
use anchor_spl::token_2022::{Token2022, TokenAccount, Mint};

#[program]
pub mod keypass {
    use super::*;
    
    pub fn mint_keypass(
        ctx: Context<MintKeyPass>,
        property_id: String,
        access_start: i64,
        access_end: i64,
        guest_pubkey: Pubkey,
    ) -> Result<()> {
        let keypass = &mut ctx.accounts.keypass;
        
        keypass.property_id = property_id;
        keypass.access_start = access_start;
        keypass.access_end = access_end;
        keypass.guest = guest_pubkey;
        keypass.is_active = true;
        
        // Mint token with transfer hook
        token_2022::mint_to(
            CpiContext::new(
                ctx.accounts.token_program.to_account_info(),
                token_2022::MintTo {
                    mint: ctx.accounts.mint.to_account_info(),
                    to: ctx.accounts.token_account.to_account_info(),
                    authority: ctx.accounts.authority.to_account_info(),
                },
            ),
            1, // Amount: 1 NFT
        )?;
        
        Ok(())
    }
    
    pub fn verify_access(
        ctx: Context<VerifyAccess>,
        property_id: String,
    ) -> Result<bool> {
        let keypass = &ctx.accounts.keypass;
        let clock = Clock::get()?;
        
        // Verify time window
        if clock.unix_timestamp < keypass.access_start 
            || clock.unix_timestamp > keypass.access_end {
            return Ok(false);
        }
        
        // Verify property match
        if keypass.property_id != property_id {
            return Ok(false);
        }
        
        // Verify token is active
        Ok(keypass.is_active)
    }
}

#[derive(Accounts)]
pub struct MintKeyPass<'info> {
    #[account(init, payer = authority, space = 8 + 200)]
    pub keypass: Account<'info, KeyPassData>,
    #[account(mut)]
    pub mint: Account<'info, Mint>,
    #[account(mut)]
    pub token_account: Account<'info, TokenAccount>,
    #[account(mut)]
    pub authority: Signer<'info>,
    pub token_program: Program<'info, Token2022>,
    pub system_program: Program<'info, System>,
}

#[account]
pub struct KeyPassData {
    pub property_id: String,
    pub access_start: i64,
    pub access_end: i64,
    pub guest: Pubkey,
    pub is_active: bool,
}

System Architecture

KeyPass Architecture Diagram

Frontend App

React/Next.js with Wallet Integration

Anchor Program

Smart Contract on Solana

Gateway API

Bridge to Physical Locks

Smart Lock

IoT Device with NFC/Bluetooth

Real-World Deployments

See how KeyPass is transforming access control across different industries and use cases.

Urban Co-living Tower

Urban Co-living Tower

300 Units • Downtown Seattle

Streamlined access management for a high-density residential building with flexible lease terms.

300
units
1,200+
daily Access
99.9%
uptime
40%
cost Saving
Cross-City Coworking Network

Cross-City Coworking Network

12 Locations • 5,000+ Members

Unified access system across multiple coworking spaces with flexible membership tiers.

12
locations
5,000+
members
800+
daily Access
94%
satisfaction
Off-Grid Mountain Cabins

Off-Grid Mountain Cabins

25 Cabins • Remote Locations

Reliable access control for vacation rentals in areas with limited connectivity.

25
cabins
2,400/year
bookings
100%
offline Uptime
4.9/5
guest Rating

What Our Customers Say

Join hundreds of property managers, developers, and business owners who trust KeyPass for secure access control.

Sarah Chen

Sarah Chen

Property Manager

Urban Living Co.

"KeyPass has revolutionized how we manage access for our 300-unit building. The automation alone has saved us 20 hours per week, and our residents love the seamless experience."
Marcus Rodriguez

Marcus Rodriguez

CTO

WorkHub Network

"The cross-location access management is exactly what we needed. Our members can now work from any of our 12 locations with a single token. The blockchain security gives us complete peace of mind."
Emily Watson

Emily Watson

Vacation Rental Owner

Alpine Retreats

"Even in our remote mountain locations with spotty internet, KeyPass works flawlessly. The offline mode has eliminated lockout issues completely, and guests love the high-tech experience."
David Kim

David Kim

Developer

PropTech Solutions

"The SDK is incredibly well-documented and easy to integrate. We had KeyPass working with our existing property management system in just two days. The API is robust and reliable."
Lisa Thompson

Lisa Thompson

Operations Director

SecureSpace Inc.

"Security was our top concern, and KeyPass delivers. The blockchain verification and audit trails give us the compliance reporting we need for enterprise clients."
Alex Johnson

Alex Johnson

Facility Manager

TechHub Coworking

"The real-time analytics and access logs have transformed how we understand space utilization. We've optimized our layout based on KeyPass data and increased efficiency by 25%."
200+
Happy Customers
99.9%
Uptime
100K+
Access Events
4.9/5
Customer Rating

Getting Started

Integrate KeyPass into your application with our comprehensive SDK and documentation.

SDK Installation

npm install @keypass/sdk @solana/web3.js

Install the KeyPass SDK along with Solana Web3.js for full functionality.

Quickstart Guide

1. Initialize KeyPass

import { KeyPass } from '@keypass/sdk';
import { Connection, PublicKey } from '@solana/web3.js';

const connection = new Connection('https://api.mainnet-beta.solana.com');
const keypass = new KeyPass({
  connection,
  propertyId: 'your-property-id',
  programId: new PublicKey('KeyPass...'),
});

2. Mint Access Token

// Mint a new KeyPass token
const mintResult = await keypass.mintKeyPass({
  guestWallet: guestPublicKey,
  accessStart: new Date('2024-01-01T15:00:00Z'),
  accessEnd: new Date('2024-01-01T18:00:00Z'),
  permissions: ['main_entrance', 'elevator'],
});

console.log('Token minted:', mintResult.signature);

3. Verify Access

// Verify token at gateway
const isValid = await keypass.verifyOnGateway({
  tokenAccount: tokenAccountPublicKey,
  propertyId: 'your-property-id',
  requestedAccess: 'main_entrance',
});

if (isValid) {
  // Grant access
  await unlockDoor();
}

4. Handle Expiration

// Check token status
const tokenStatus = await keypass.getTokenStatus(tokenAccount);

if (tokenStatus.isExpired) {
  // Automatically burn expired token
  await keypass.burnToken(tokenAccount);
  console.log('Expired token burned');
}

Frequently Asked Questions

Get answers to common questions about KeyPass implementation and functionality.

Still have questions? We're here to help.