🔄

# Migration Guide

Complete guide for migrating from previous versions to V5

Need Help?

For additional support during migration, visit our Support Center

Critical Migration Warning

This migration involves significant database changes and removal of deprecated features. Always create a complete backup before proceeding.

⚠️ Some features from previous versions have been completely redesigned in V5. Users will need to reconfigure certain modules after migration.

## 🗄️ Database Migration Steps

1

### Take Complete Database Backup

Before making any changes, create a full backup of your database. This is your safety net in case anything goes wrong during the migration process.

phpMyAdmin Backup Steps

1. Open phpMyAdmin in your browser
2. Log in with your database credentials
3. Select your Bicrypto database from the left sidebar
4. Click on the "Export" tab at the top
5. Choose "Custom" export method for more options
6. In Format section, select "SQL"
7. Make sure all tables are selected (should be by default)
8. In "Output" section, check "Save output to a file"
9. Set file name template to: `backup_%Y%m%d_%H%M%S`
10. Choose compression if needed (Gzipped is recommended)
11. Click "Export" to download the backup file

💡 Tip: Save the backup file with today's date in the filename for easy identification later.

2

### Remove Page Records

The page management system has been completely redesigned. Remove old page records or drop the entire table.

phpMyAdmin Steps

Option 1: Empty the table

1. Open phpMyAdmin and select your database
2. Find the table that starts with `pages` (or your prefix)
3. Click on the table name
4. Click "Operations" tab → "Empty the table (TRUNCATE)"

Option 2: Drop the table (recommended)

1. Select the table that starts with `pages`
2. Click "Drop" and confirm the action

3

### Remove Deprecated Extension Tables

Several extension tables have been completely redesigned with new architectures. Remove the old tables as they are incompatible with V5.

Tables to Remove via phpMyAdmin

In phpMyAdmin, drop all tables that start with the following prefixes:

🏦 Staking Extension: Remove all tables starting with `staking_`
🤝 P2P Trading: Remove all tables starting with `p2p_`
🪙 ICO Extension: Remove all tables starting with `ico_`
🎨 NFT Extension: Remove all tables starting with `nft_`
❓ FAQ System: Remove all tables starting with `faq_`
🆔 KYC System: Remove tables `kyc_template` and `kyc` (replaced with 4 new tables)

How to drop tables: In phpMyAdmin, select the tables → Click "Drop" button → Confirm the action

Foreign Key Constraint Issues

If you encounter foreign key constraint errors when dropping tables, you may need to repeat the drop operation 2-3 times until all foreign key relationships are removed in the correct order. This is normal and expected due to table dependencies.

4

### Clean Permission System Tables

The permission system has been completely redesigned. You need to clean the role_permission and permission tables to avoid conflicts.

Clean Permission Tables

In phpMyAdmin, empty (TRUNCATE) the following tables:

1. Find the table that starts with `role_permission` (or your prefix)
2. Click on the table → "Operations" tab → "Empty the table (TRUNCATE)"
3. Find the table that starts with `permission` (or your prefix)
4. Click on the table → "Operations" tab → "Empty the table (TRUNCATE)"

Note: These tables will be repopulated with the new permission structure when you run the seed command later.

5

### Clean Notification Table

The notification system has been enhanced in V5. Clean the existing notification table to avoid conflicts with the new notification structure.

Clean Notification Table

In phpMyAdmin, empty (TRUNCATE) the notification table:

1. Find the table that starts with `notification` (or your prefix)
2. Click on the table → "Operations" tab → "Empty the table (TRUNCATE)"

Note: This removes old notifications to ensure compatibility with the enhanced notification system in V5.

6

### Import New KYC Schema

After dropping the old KYC tables, you need to import the new KYC schema that includes 4 new tables for the redesigned KYC system.

Import kyc.sql via phpMyAdmin

Before running any terminal commands, import the new KYC schema:

1. In your V5 installation folder, locate the file `kyc.sql`
2. Open phpMyAdmin and select your database
3. Click on the "Import" tab
4. Click "Choose File" and select the `kyc.sql` file
5. Make sure the format is set to "SQL"
6. Click "Import" to execute the SQL file
7. Verify that 4 new KYC-related tables have been created

Important: This must be done BEFORE running the terminal commands in the next steps. The new KYC system depends on these tables being present.

## 📁 File System Migration

1

### Move Public Folder

The public folder structure has changed in V5. You need to create a frontend folder and move the public folder into it.

Folder Movement Steps

1. Create a new folder called `frontend` in your root directory
2. Move the entire `/public` folder into the `/frontend` folder
3. Final structure should be: `/frontend/public`

2

### Clean Installation Directory

Remove all files and folders except the .env file and the frontend folder you just created.

Keep Only .env File and Frontend Folder

Important: Delete all files and folders in your installation directory, but keep:

- • The `.env` file (contains your database and configuration settings)
- • The `frontend` folder (contains your moved public folder)
- • The `lic` folder (contains your license files)

3

### Add AI API Keys to .env

V5 requires additional AI API keys for enhanced features. Add the new API keys to your existing .env file.

Add These Lines After OPENAI_API_KEY

Your .env file already has `OPENAI_API_KEY=""`. Add these new lines right after it:

`DEEPSEEK_API_KEY=""
GEMINI_API_KEY=""`

Leave the values empty for now - you can configure them later through the admin panel.

4

### Download and Extract Bicrypto V5

Download the latest version of Bicrypto V5 from your Envato downloads and extract it to your server.

Installation Steps

1. Log in to your Envato account
2. Go to your downloads section
3. Download the latest Bicrypto V5 zip file
4. Extract the contents to your `public_html` directory

5

### Install Dependencies and Start

Access your server terminal via Virtualmin and run the following commands to install dependencies, build, and start the application.

Virtualmin Terminal Access

1. Log in to your Virtualmin control panel
2. Go to System Settings → Terminal
3. Navigate to your domain's public_html directory
4. Run the following commands in order:

`# Stop any running instance
pnpm stop
# Step 1: Install dependencies
pnpm install
# Step 2: Build backend
pnpm build:backend
# Step 3: Build frontend
pnpm build:frontend
# Step 4: Seed the database with new data
pnpm seed
# Step 5: Start the application
pnpm start`

Note: If you don't have Virtualmin terminal access, you can use SSH or your hosting provider's terminal. Make sure Node.js 18+ and pnpm are installed.

## ⚙️ Configuration Updates

1

### Binary Durations Configuration

Binary option durations are now configurable by the admin. You need to set up new durations with their respective profit percentages.

Admin Action Required

Navigate to Admin Panel → Binary Options → Durations and create new duration entries with:

- • Duration in minutes (e.g., 5, 15, 30, 60)
- • Profit percentage for each duration
- • Enable/disable status for each option

2

### Binary Markets Separation

Binary markets are now completely separated from spot markets. You need to create dedicated binary markets.

Market Setup Steps

Go to Admin Panel → Binary Options → Markets and:

- • Create markets for popular pairs (BTC/USD, ETH/USD, etc.)
- • Configure market parameters and spreads
- • Set active trading hours if needed
- • Enable/disable markets as required

3

### AI Integration Setup

V5 introduces comprehensive AI integration across multiple features. The AI system powers document analysis, chat support, content generation, and automated processes.

AI Configuration Overview

The AI Configuration section allows you to set up:

- • Multiple AI Providers: OpenAI (GPT models), DeepSeek, Google Gemini
- • KYC Document Analysis: Automated ID verification and document processing
- • Chat Support: AI-powered customer service with context awareness
- • Content Generation: Automated email templates and announcements
- • Risk Assessment: Transaction monitoring and fraud detection
- • Language Processing: Multi-language support and translation

📚 Follow the complete AI Configuration Guide in the core documentation for detailed setup instructions.

4

### KYC Level System

KYC verification now uses a tiered level system. Create KYC levels and configure permissions for each tier.

KYC Configuration

Access Admin Panel → KYC → Levels to create verification tiers:

- • Level 1: Basic verification (email, phone)
- • Level 2: Identity documents (ID, passport)
- • Level 3: Enhanced verification (address proof, selfie)
- • Configure withdrawal limits and feature access per level

User Re-verification Required

Existing users will need to submit new KYC applications under the new tiered system. Notify your users about the updated verification process.

## ✅ Post-Migration Checklist

After completing the migration, verify all systems are working correctly:

Database backup completed via phpMyAdmin export Page table removed/dropped via phpMyAdmin Extension tables removed (staking_, p2p_, ico_, nft_, faq_ prefixes) Handled foreign key constraints (repeated table drops 2-3 times if needed) Role_permission and permission tables cleaned (TRUNCATED) Frontend folder created in root directory Public folder moved to /frontend/public All files removed except .env file, frontend folder, and lic folder DEEPSEEK_API_KEY and GEMINI_API_KEY added to .env Bicrypto V5 downloaded from Envato and extracted Accessed terminal via Virtualmin (System Settings → Terminal) Ran pnpm stop to stop any running instances Dependencies installed (pnpm install) Application built (pnpm build:all) Database seeded with new data (pnpm seed) Application started (pnpm start) Binary durations configured with profit percentages Binary markets created and configured AI integration configured following the guide KYC levels created with appropriate permissions Users notified about new KYC requirements All systems tested and functioning properly

## 📚 Additional Resources

### AI Configuration

Comprehensive guide for setting up AI integration features in V5.

View AI Setup Guide →

### Extension Guides

Detailed installation and configuration guides for all V5 extensions.

Staking Extension → P2P Trading Extension → ICO Extension →