WALLET IDENTITY

Wallet signatures create the authenticated user boundary for Tenzarch.

Tenzarch uses wallet ownership to create a session for account-specific actions such as Free Node activation, credit purchases, AI Agent launches, and personal execution history.

IDENTITY

A wallet proves ownership without exposing secrets.

The frontend asks the selected wallet to sign an authentication message. The backend verifies that signature and issues a wallet session token. Tenzarch should never ask users for private keys, recovery phrases, or exported wallet credentials.

01Select wallet
02Request account
03Sign message
04Verify signature
05Issue session
06Use protected routes
PROTECTED ACTIONS

Wallet sessions gate personal and ownership-specific actions.

Free Node activation

Node ownership is derived from the authenticated wallet session when /api/nodes/register is called.

AI Agent launch

Launching an Agent can require wallet authentication and Execution Credits because it creates network workload demand.

Credit account

Credit balance and purchase history are wallet-linked account data.

Personal history

Wallet-specific execution and node state should only be shown after authentication.

SECURITY

The wallet boundary must remain user controlled.

If multiple wallet providers are available, the user should choose the wallet explicitly. If no compatible wallet is available, the UI should show a clear install-wallet state instead of a dead-end connection error.

SESSION LIFECYCLE

The signed session lets the product use wallet-linked backend state safely.

After wallet authentication succeeds, frontend surfaces can request protected backend state for the connected wallet. This includes wallet-owned nodes, credit balance, execution history, node rewards, and actions that create workload demand. The wallet address is not enough by itself; protected actions should be backed by the verified wallet session.

01

Restore session

On page load, the frontend can restore a valid wallet session and refresh account-specific state.

02

Refresh protected data

Pages that depend on identity should load only after a session token is present.

03

Handle expiry

Expired or missing sessions should return users to a clear connect-wallet state.

04

Disconnect cleanly

Disconnecting should clear local wallet session state and remove account-specific UI data.

WALLET PROVIDERS

Provider selection matters when several browser wallets are installed.

Modern browsers can expose multiple EVM wallets at once. A production wallet flow should not assume every injected provider is MetaMask, and it should not automatically choose a wallet when several compatible providers are available. Users should see a clear wallet-selection interface and choose the provider they want to use for the session.

One wallet

The product can connect directly or show a single available provider clearly.

Multiple wallets

Show a selection surface with distinct wallet names, icons, connection state, and recovery paths.

No wallet

Show an install-wallet state instead of a generic connection error.

Rejected request

Keep the interface usable and let the user retry or choose another wallet.