Skip to content

Implement Solana wallet signature-based authentication & on-chain access control #24

@0xrinegade

Description

@0xrinegade

Problem Statement
We want to move away from traditional user account systems and instead use Solana wallet signatures for authentication and authorization. Users will sign each request with their wallet, and the backend will verify both the signature and whether the wallet address has on-chain proof of renting or owning the required access to resources.

Motivation

  • Enables userless auth: no registration, no passwords, just wallet connections.
  • Access rights (like API/resource usage) are represented as on-chain rentals or ownership SVMAI locked as a deposit.
  • Supports lending/borrowing access: rights can be transferred or loaned between wallets, making the system flexible and composable.

Desired Flow

  1. Client signs request using their Solana wallet.
  2. Server verifies the signature and wallet address.
  3. Server checks on-chain (Solana) if the wallet has active rental/ownership for the requested resource.
  4. If yes, access granted; if not, access denied.
  5. No persistent user accounts or passwords needed—auth is stateless, based on wallet + chain.

Acceptance Criteria

  • All access checks are performed using wallet signatures and on-chain lookups.
  • Borrowing/lending of access is possible by moving/renting SVMAI token.
  • No user registration, password reset, or email flows.
  • Sample code/docs provided for both backend and frontend integration.
  • Security best practices for signature verification and on-chain checks are followed.

Additional Context
This approach creates a permissionless, decentralized access management system where anyone can borrow or lend access, and the server never needs to know about users—only valid signatures and chain state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions