Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

# Misc
.DS_Store
screenshots/
.env
.env.local
.env.development.local
Expand Down
5 changes: 4 additions & 1 deletion docs/getting-started/wallets/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

After building your first smart contract, you're ready to connect a browser wallet to interact with dApps on Cedra. Wallets let you manage your accounts, sign transactions, and interact with decentralized applications.

#### Cedra currently supports two wallets:
#### Cedra currently supports the following wallets:

- **[Nightly Wallet Setup](/getting-started/wallets/nightly)** - Multi-chain wallet with 1M+ users
- **[Zedra Wallet Setup](/getting-started/wallets/zedra)** - Built specifically for Cedra
- **[Nova Wallet](/getting-started/wallets/nova-wallet)** - Official mobile wallet for Cedra on Android
- **[Nova Desk](/getting-started/wallets/nova-desk)** - Official desktop wallet for Windows and Linux
- **[Nova Connect](/getting-started/wallets/nova-connect)** - Wallet adapter for dApp integration

### What's Next?

Expand Down
33 changes: 33 additions & 0 deletions docs/getting-started/wallets/nova-connect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Nova Connect

**Nova Connect** is the official wallet adapter that enables dApps to connect with Nova Wallet (mobile) and Nova Desk (desktop). It provides a unified interface for wallet connectivity across both platforms.

For complete integration documentation, visit:

[**Nova Connect Documentation**](https://inferenco.com/docs#nova-connect-introduction)

## Key Features

- **AIP-62 Wallet Standard** compliance
- **Unified API** for both mobile and desktop wallets
- **Multiple Integration Methods**: Auto-register, plugin-style, or direct client
- **End-to-End Encryption** for mobile communication
- **Session Management** across page reloads

## Quick Integration

```typescript
// Side-effect import - auto-registers Nova Connect
import "@inferenco/nova-wallet-adapter/auto-register";

// Use with wallet-standard
import { getCedraWallets, connect } from "@cedra-labs/wallet-standard";

// Connect to Nova Wallet/Nova Desk
const wallets = getCedraWallets();
await connect("Nova Connect");
const wallet = wallets.find(w => w.name === "Nova Connect");
const account = await wallet.account();
```

For full details, see the [official documentation](https://inferenco.com/docs#nova-connect-introduction).
116 changes: 116 additions & 0 deletions docs/getting-started/wallets/nova-desk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Nova Desk

**Nova Desk** is the official desktop wallet for the Cedra blockchain. Built for power users and developers, Nova Desk combines enterprise-grade security with a seamless user interface.

## Features

### Core Features
- **Multi-Platform**: Available for Windows, Linux, and Linux ARM64
- **Secure Encryption**: AES-256-GCM encryption with Argon2 key derivation for superior security
- **Embedded DApp Browser**: Full-featured browser with direct bridge to connected dApps
- **Session Management**: Configurable session timeout with automatic locking

### Advanced Security
- **Brute Force Protection**: Automatic lockout after 5 failed attempts (5-minute cooldown)
- **Secure Memory Management**: Zeroized memory for sensitive data (private keys, passwords)
- **Storage Isolation**: Each account has isolated encrypted storage
- **Audit Logging**: Comprehensive security event logging for monitoring

### DApp Integration
- **Full Browser Integration**: Embedded browser on Linux
- **Bridge API**: REST API for dApp communication via local server
- **Transaction Signing**: Sign and submit transactions directly from browser
- **Message Signing**: Sign arbitrary messages for authentication

### User Experience
- **Modern UI**: Built with Dioxus framework for reactive, native-feeling interface
- **Dark/Light Theme**: Customizable theme system
- **System Tray**: Minimize to system tray for quick access
- **QR Code Support**: Generate and scan QR codes for addresses and transactions
- **NFT Gallery**: Built-in NFT viewing and management
- **Transaction History**: Detailed transaction records with filtering

## Download

Get Nova Desk for your platform:

[**Download Nova Desk**](https://inferenco.com/nova-desk)

## Supported Platforms
- Windows (x64)
- Linux (x64)
- Linux (ARM64 / Raspberry Pi)

## Getting Started

### Installation
1. Download Nova Desk for your operating system from the link above
2. Run the installer:
- **Windows**: Run the `.exe` installer
- **Linux x64**: Extract the AppImage or use the `.deb` package
- **Linux ARM64**: Use the ARM64-specific build
3. Launch Nova Desk from your applications menu

### Create Your First Vault and Account
1. Open Nova Desk
2. On the **Vault Selection** screen, choose a folder location for your new vault or select an existing vault
3. Click **Continue to Create or Import**
4. Enter and confirm a strong **Wallet password** to encrypt your vault data
5. Click **Continue to Account Options**
6. Choose to create a new account or import an existing one
7. If creating new: securely store your 12 or 24-word recovery phrase
8. Verify your recovery phrase
9. Your vault and first account are ready to use!

## Supported Networks

Nova Desk currently supports:
- **Testnet** - For development and testing
- **Devnet** - For early feature testing

## Security Features

### Encryption Stack
- **Key Derivation**: Argon2id with configurable parameters
- **Symmetric Encryption**: AES-256-GCM for data at rest
- **Secure Randomness**: Uses OS-provided CSPRNG

### Protection Mechanisms
- **Brute Force Protection**: 5 attempts max, 5-minute lockout with exponential backoff
- **Session Timeout**: Configurable timeout (default: 30 minutes)
- **Memory Zeroization**: Sensitive data is cleared from memory when no longer needed
- **Storage Isolation**: Each account has its own encrypted storage tree

## Connecting to dApps

Nova Desk provides multiple ways for dApps to connect:

### Deep Link
```
inferenco://login?redirect=https://dapp.example.com/callback
```

### Browser Bridge
- dApps can communicate via local HTTP server at `http://127.0.0.1:21984`
- Full REST API for signing, account management, and more

### JavaScript API
```javascript
// In dApp
if (window.novaDesk) {
const publicKey = await window.novaDesk.requestPublicKey();
const signature = await window.novaDesk.requestSignTransaction(txPayload);
}
```

## Platform-Specific Notes

### Windows
- Uses named pipes for inter-process communication
- Native window management

### Linux
- Requires WebKitGTK 4.1 for browser functionality
- Uses Unix domain sockets for deep link communication
- X11 backend forced for WebKitGTK compatibility
- ARM64 builds available for Raspberry Pi and other ARM devices
58 changes: 58 additions & 0 deletions docs/getting-started/wallets/nova-wallet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Nova Wallet

**Nova Wallet** is the official mobile wallet for the Cedra blockchain. Available on Android, Nova Wallet provides a secure and user-friendly way to manage your digital assets, interact with dApps, and participate in the Cedra ecosystem.

## Features

### Core Features
- **Secure Storage**: Industry-standard encryption for your private keys and seed phrases
- **Multi-Account Support**: Manage up to 20 accounts from a single wallet
- **Biometric Authentication**: Face ID and Touch ID support for quick, secure access
- **Mnemonic Backup**: 12 or 24-word recovery phrases with BIP-39 standard
- **Hardware-Backed Security**: Uses Android's Secure Enclave (Keystore) for key protection

### Cedra-Specific Features
- **Full Cedra Blockchain Support**: Testnet and Devnet
- **Token Management**: View and manage all your Cedra tokens and NFTs
- **Transaction History**: Complete record of all your on-chain activity
- **Gas Customization**: Adjust gas fees for your transactions
- **Multi-Agent Transactions**: Support for complex transactions involving multiple signers

### dApp Integration
- **WalletConnect Compatible**: Seamlessly connect to Cedra dApps
- **Transaction Signing**: Sign transactions and messages directly from your mobile device
- **Expert-Safe-Protocol**: Secure communication with dApps via URI-based protocol
- **Deep Link Support**: Open dApps directly from wallet links

## Download

Get Nova Wallet on your Android device:

[**Download on Google Play Store**](https://play.google.com/store/apps/details?id=com.inferenco.novawallet)

## Getting Started

### Create a New Wallet
1. Download and install Nova Wallet from the Google Play Store
2. Open the app and tap **Create Wallet**
3. Securely store your 12 or 24-word recovery phrase
4. Verify your recovery phrase
5. Set up biometric authentication (optional but recommended)
6. Your wallet is ready to use!

### Import Existing Wallet
1. Open Nova Wallet
2. Tap **Import Wallet**
3. Enter your 12 or 24-word recovery phrase
4. Set a strong password
5. Your existing accounts will be restored

## Security

Nova Wallet implements multiple layers of security:

- **Encryption**: All sensitive data is encrypted using AES-256-GCM with PBKDF2 key derivation
- **Secure Storage**: Private keys are stored in Android's Secure Enclave (Keystore)
- **Biometric Protection**: Optional biometric authentication adds an extra layer of security
- **Auto-Lock**: Wallet automatically locks after inactivity
- **Key Escrow**: Additional protection mechanism for key management
15 changes: 15 additions & 0 deletions sidebars.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,21 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
type: 'doc',
id: 'getting-started/wallets/zedra',
label: 'Zedra Wallet'
},
{
type: 'doc',
id: 'getting-started/wallets/nova-wallet',
label: 'Nova Wallet'
},
{
type: 'doc',
id: 'getting-started/wallets/nova-desk',
label: 'Nova Desk'
},
{
type: 'doc',
id: 'getting-started/wallets/nova-connect',
label: 'Nova Connect'
}
]
},
Expand Down