diff --git a/about.php b/about.php new file mode 100644 index 0000000..0e2dd8c --- /dev/null +++ b/about.php @@ -0,0 +1,39 @@ + +
+
+
+

+
+

+

Our Mission

+

+ To make digital asset trading accessible, secure, and intuitive for everyone, everywhere. + We believe in the power of blockchain to transform the global financial landscape. +

+

Global Presence

+

+ With offices in Singapore, London, and Tokyo, Byro serves a diverse global community. + We are compliant with international standards and prioritize the security of our users' assets. +

+
+
+

5M+

+

Users

+
+
+

100+

+

Countries

+
+
+

$10B+

+

Daily Volume

+
+
+
+
+
+
+ diff --git a/admin/settings.php b/admin/settings.php new file mode 100644 index 0000000..5820630 --- /dev/null +++ b/admin/settings.php @@ -0,0 +1,56 @@ +prepare("UPDATE system_settings SET setting_value = ? WHERE setting_key = 'email_verification_enabled'"); + $stmt->execute([$email_verify]); + $message = 'Settings updated successfully'; +} + +$email_verify_enabled = getSetting('email_verification_enabled', '0') === '1'; + +function getSetting($key, $default = null) { + $stmt = db()->prepare("SELECT setting_value FROM system_settings WHERE setting_key = ?"); + $stmt->execute([$key]); + $row = $stmt->fetch(); + return $row ? $row['setting_value'] : $default; +} + +include __DIR__ . '/../includes/header.php'; +?> + +
+
+

Admin Settings

+ +
+ +
+ + +
+
+
+ style="width: 20px; height: 20px;"> + +
+

+ If enabled, users will see an "Email Verification Code" field during registration. + (Demo code is 123456) +

+ +
+
+
+
+ + diff --git a/api.php b/api.php new file mode 100644 index 0000000..42fcf01 --- /dev/null +++ b/api.php @@ -0,0 +1,60 @@ + +
+

+
+
+ +
+
+

Introduction

+

Welcome to the Byro API. Our API allows you to access market data, manage your account, and execute trades programmatically. We use a RESTful architecture with JSON responses.

+
+ +
+

Authentication

+

All private endpoints require API Key authentication. You can generate API keys in your account profile settings.

+
+ Authorization: Bearer YOUR_API_KEY +
+
+ +
+

Market Data

+
Get Ticker
+
+ GET /api/v1/market/ticker?symbol=BTCUSDT +
+

Returns the latest price and 24h volume for the specified symbol.

+
+ +
+

Trade

+
Place Order
+
+ POST /api/v1/trade/order +
+

Payload example:

+
{
+  "symbol": "BTCUSDT",
+  "side": "buy",
+  "type": "limit",
+  "price": "65000",
+  "amount": "0.1"
+}
+
+
+
+
+
+ diff --git a/api/pexels.php b/api/pexels.php new file mode 100644 index 0000000..3aee8d5 --- /dev/null +++ b/api/pexels.php @@ -0,0 +1,40 @@ + 'assets/images/pexels/' . $filename, + 'photographer' => $p['photographer'] ?? 'Unknown', + 'photographer_url' => $p['photographer_url'] ?? '', + 'title' => trim($q) + ]; + } else { + // Fallback + $out[] = [ + 'src' => 'https://picsum.photos/1200/400?random=' . rand(1, 100), + 'photographer' => 'Random', + 'photographer_url' => '#', + 'title' => trim($q) + ]; + } + } + echo json_encode($out); +} diff --git a/api/wallet.php b/api/wallet.php new file mode 100644 index 0000000..5b075d9 --- /dev/null +++ b/api/wallet.php @@ -0,0 +1,55 @@ + false, 'error' => 'Unauthorized']); + exit; +} + +try { + $db = db(); + + if ($action === 'get_balance') { + $stmt = $db->prepare("SELECT * FROM user_balances WHERE user_id = ?"); + $stmt->execute([$userId]); + $balances = $stmt->fetchAll(); + echo json_encode(['success' => true, 'balances' => $balances]); + exit; + } + + if ($action === 'deposit') { + $amount = (float)($_POST['amount'] ?? 0); + $symbol = $_POST['symbol'] ?? 'USDT'; + + if ($amount <= 0) throw new Exception("Invalid amount"); + + $db->beginTransaction(); + + // Update balance + $stmt = $db->prepare("INSERT INTO user_balances (user_id, symbol, available) + VALUES (?, ?, ?) + ON DUPLICATE KEY UPDATE available = available + ?"); + $stmt->execute([$userId, $symbol, $amount, $amount]); + + // Log transaction + $stmt = $db->prepare("INSERT INTO transactions (user_id, type, amount, symbol, status) + VALUES (?, 'deposit', ?, ?, 'completed')"); + $stmt->execute([$userId, $amount, $symbol]); + + $db->commit(); + + echo json_encode(['success' => true, 'message' => 'Deposit successful']); + exit; + } + + throw new Exception("Invalid action"); + +} catch (Exception $e) { + if (isset($db) && $db->inTransaction()) $db->rollBack(); + echo json_encode(['success' => false, 'error' => $e->getMessage()]); +} diff --git a/app.php b/app.php new file mode 100644 index 0000000..c743481 --- /dev/null +++ b/app.php @@ -0,0 +1,53 @@ + +
+
+
+

+

+ + + +
+
+
+ QR Code +

Scan to Download

+
+
+
+
    +
  • Real-time alerts
  • +
  • Full trading features
  • +
  • 2FA security
  • +
  • 24/7 Live chat
  • +
+
+
+
+
+
+
+ +
+
+
+
+ diff --git a/assets/css/index.css b/assets/css/index.css new file mode 100644 index 0000000..579b17a --- /dev/null +++ b/assets/css/index.css @@ -0,0 +1,112 @@ +:root { + --primary-color: #0062ff; + --bg-dark: #0b0e11; + --card-bg: #1e2329; + --text-main: #eaecef; + --text-muted: #848e9c; + --border-color: #2b3139; + --success: #26a69a; + --danger: #ef5350; +} + +body { + background-color: var(--bg-dark); + color: var(--text-main); + font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; + line-height: 1.6; +} + +/* Ensure readability on dark backgrounds */ +.text-muted { + color: var(--text-muted) !important; +} + +.card { + background-color: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 12px; +} + +/* Hero Carousel Optimization */ +.carousel-item { + transition: transform 0.6s ease-in-out; +} +.carousel-content { + border-radius: 16px; + overflow: hidden; + position: relative; + background-size: cover !important; + background-position: center !important; +} +.carousel-overlay { + position: absolute; + top: 0; left: 0; right: 0; bottom: 0; + background: rgba(0, 0, 0, 0.4); + z-index: 1; +} +.carousel-content > div { + position: relative; + z-index: 2; +} + +/* Coin Cards */ +.coin-card { + border: 1px solid var(--border-color); + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} +.coin-card:hover { + transform: translateY(-8px); + border-color: var(--primary-color); + box-shadow: 0 10px 20px rgba(0,0,0,0.3); +} + +.price-up { color: var(--success) !important; } +.price-down { color: var(--danger) !important; } + +/* Icons */ +.icon-box { + width: 64px; + height: 64px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 16px; + margin-bottom: 1.5rem; + transition: transform 0.3s; +} +.icon-box:hover { + transform: scale(1.1); +} + +/* Partner Cards */ +.partner-card { + background: var(--card-bg); + border: 1px solid var(--border-color); + transition: all 0.3s; + height: 100px; + filter: grayscale(0.5); + opacity: 0.8; +} +.partner-card:hover { + filter: grayscale(0); + opacity: 1; + border-color: var(--text-muted); +} + +/* Footer status */ +.status-indicator { + width: 8px; + height: 8px; + background: #00ff00; + border-radius: 50%; + display: inline-block; + margin-right: 8px; + box-shadow: 0 0 8px #00ff00; + animation: pulse 2s infinite; +} + +@keyframes pulse { + 0% { transform: scale(0.95); opacity: 0.7; } + 70% { transform: scale(1.2); opacity: 1; } + 100% { transform: scale(0.95); opacity: 0.7; } +} diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..9306bdf --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,76 @@ + :root { + --primary: #0062ff; + --bg: #0b0e11; + --surface: #1e2329; + --text: #eaecef; + --text-muted: #9ba3af; /* Improved contrast from #888888 */ + --border: #2b3139; + --success: #26a69a; + --danger: #ef5350; + } + + +body { + background-color: var(--bg); + color: var(--text); + font-family: 'Inter', system-ui, -apple-system, sans-serif; + margin: 0; + padding: 0; + line-height: 1.5; +} + +* { + box-sizing: border-box; +} + +a { + color: var(--primary); + text-decoration: none; + transition: opacity 0.2s; +} + +a:hover { + opacity: 0.8; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; +} + +.btn { + display: inline-block; + padding: 10px 24px; + border-radius: 4px; + font-weight: 600; + cursor: pointer; + border: none; + text-align: center; + transition: all 0.2s; +} + +.btn-primary { + background-color: var(--primary); + color: #fff; +} + +.btn-outline { + background-color: transparent; + border: 1px solid var(--border); + color: var(--text); +} + +.section { + padding: 80px 0; +} + +/* Auth related */ +.auth-container { + max-width: 440px; + margin: 80px auto; + padding: 40px; + background: var(--surface); + border: 1px solid var(--border); + border-radius: 8px; +} diff --git a/assets/css/terminal.css b/assets/css/terminal.css new file mode 100644 index 0000000..8fd874f --- /dev/null +++ b/assets/css/terminal.css @@ -0,0 +1,313 @@ +:root { + --term-bg: #0b0e11; + --term-surface: #161a1e; + --term-border: #2b3139; + --term-text: #eaecef; + --term-muted: #848e9c; + --term-primary: #0062ff; + --term-success: #26a69a; + --term-danger: #ef5350; + --header-height: 50px; + --sidebar-width: 260px; + --orderbook-width: 280px; +} + +.terminal-container { + display: flex; + flex-direction: column; + height: calc(100vh - 70px); + background: var(--term-bg); + color: var(--term-text); + overflow: hidden; +} + +.terminal-top-nav { + height: var(--header-height); + background: var(--term-surface); + border-bottom: 1px solid var(--term-border); + display: flex; + align-items: center; + padding: 0; +} + +.terminal-tab { + padding: 0 24px; + height: 100%; + display: flex; + align-items: center; + color: var(--term-muted); + text-decoration: none !important; + font-weight: 600; + font-size: 14px; + border-right: 1px solid var(--term-border); + transition: all 0.2s; +} + +.terminal-tab:hover { + color: var(--term-text); + background: rgba(255,255,255,0.05); +} + +.terminal-tab.active { + background: var(--term-bg); + color: var(--term-primary); + border-bottom: 2px solid var(--term-primary); +} + +.terminal-main { + display: flex; + flex: 1; + overflow: hidden; +} + +.terminal-sidebar { + width: var(--sidebar-width); + border-right: 1px solid var(--term-border); + display: flex; + flex-direction: column; + background: var(--term-surface); +} + +.sidebar-search { + padding: 12px; + border-bottom: 1px solid var(--term-border); +} + +.sidebar-search input { + background: #2b3139; + border: none; + color: #fff; + width: 100%; + padding: 8px 12px; + border-radius: 4px; + font-size: 13px; + outline: none; +} + +.coin-list-container { + flex: 1; + overflow-y: auto; +} + +.coin-row { + display: flex; + justify-content: space-between; + padding: 10px 12px; + cursor: pointer; + border-bottom: 1px solid rgba(255,255,255,0.02); + transition: background 0.2s; +} + +.coin-row:hover { + background: rgba(255,255,255,0.05); +} + +.coin-row .coin-info { + display: flex; + align-items: center; + gap: 8px; +} + +.coin-row img { + width: 18px; + height: 18px; +} + +.coin-row .symbol { + font-weight: 600; + font-size: 13px; +} + +.coin-row .price { + font-size: 13px; + text-align: right; + font-family: monospace; +} + +.coin-row .change { + font-size: 11px; + display: block; +} + +.terminal-content { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + background: var(--term-bg); +} + +.content-header { + height: 60px; + display: flex; + align-items: center; + padding: 0 16px; + border-bottom: 1px solid var(--term-border); + gap: 24px; +} + +.header-pair { + font-size: 20px; + font-weight: 700; +} + +.header-stat { + display: flex; + flex-direction: column; +} + +.header-stat label { + font-size: 11px; + color: var(--term-muted); +} + +.header-stat span { + font-size: 13px; + font-weight: 600; +} + +.kline-container { + flex: 2; + background: #000; + position: relative; + border-bottom: 1px solid var(--term-border); +} + +.trading-panels { + height: 280px; + display: flex; + border-bottom: 1px solid var(--term-border); +} + +.order-form-container { + flex: 1; + padding: 16px; + border-right: 1px solid var(--term-border); +} + +.order-form-tabs { + display: flex; + gap: 16px; + margin-bottom: 16px; +} + +.order-form-tabs button { + background: none; + border: none; + color: var(--term-muted); + font-weight: 600; + font-size: 14px; + padding-bottom: 4px; +} + +.order-form-tabs button.active { + color: var(--term-text); + border-bottom: 2px solid var(--term-primary); +} + +.input-group-custom { + margin-bottom: 12px; +} + +.input-group-custom label { + display: block; + font-size: 11px; + color: var(--term-muted); + margin-bottom: 4px; +} + +.input-wrapper { + background: #2b3139; + border-radius: 4px; + display: flex; + align-items: center; + padding: 0 10px; +} + +.input-wrapper input { + background: transparent; + border: none; + color: #fff; + width: 100%; + padding: 8px 0; + outline: none; + font-size: 14px; +} + +.input-wrapper .suffix { + font-size: 12px; + color: var(--term-muted); +} + +.order-history { + flex: 1; + overflow-y: auto; +} + +.terminal-right-sidebar { + width: var(--orderbook-width); + border-left: 1px solid var(--term-border); + display: flex; + flex-direction: column; + background: var(--term-surface); +} + +.order-book { + flex: 1; + display: flex; + flex-direction: column; + font-size: 12px; +} + +.ob-header { + padding: 8px 12px; + display: flex; + justify-content: space-between; + color: var(--term-muted); + border-bottom: 1px solid var(--term-border); +} + +.ob-list { + flex: 1; + overflow: hidden; +} + +.ob-row { + display: flex; + justify-content: space-between; + padding: 2px 12px; + position: relative; + z-index: 1; +} + +.ob-row .price { width: 40%; } +.ob-row .amount { width: 30%; text-align: right; } +.ob-row .total { width: 30%; text-align: right; } + +.asks .price { color: var(--term-danger); } +.bids .price { color: var(--term-success); } + +.ob-row-bg { + position: absolute; + top: 0; right: 0; bottom: 0; + z-index: -1; + opacity: 0.15; +} + +.asks .ob-row-bg { background: var(--term-danger); } +.bids .ob-row-bg { background: var(--term-success); } + +.ob-mid-price { + padding: 10px 12px; + background: rgba(255,255,255,0.02); + display: flex; + align-items: center; + gap: 8px; + border-top: 1px solid var(--term-border); + border-bottom: 1px solid var(--term-border); +} + +.ob-mid-price .val { font-size: 18px; font-weight: 700; } + +.btn-buy { background: var(--term-success); border: none; color: #fff; width: 100%; padding: 10px; border-radius: 4px; font-weight: 700; margin-top: 10px; } +.btn-sell { background: var(--term-danger); border: none; color: #fff; width: 100%; padding: 10px; border-radius: 4px; font-weight: 700; margin-top: 10px; } diff --git a/assets/pasted-20260216-012801-565c8750.png b/assets/pasted-20260216-012801-565c8750.png new file mode 100644 index 0000000..6769ceb Binary files /dev/null and b/assets/pasted-20260216-012801-565c8750.png differ diff --git a/assets/pasted-20260216-022249-e3af8e8e.png b/assets/pasted-20260216-022249-e3af8e8e.png new file mode 100644 index 0000000..e62a058 Binary files /dev/null and b/assets/pasted-20260216-022249-e3af8e8e.png differ diff --git a/auth/login.php b/auth/login.php new file mode 100644 index 0000000..01be2a7 --- /dev/null +++ b/auth/login.php @@ -0,0 +1,59 @@ +prepare("SELECT * FROM users WHERE username = ? OR email = ?"); + $stmt->execute([$account, $account]); + $user = $stmt->fetch(); + + if ($user && password_verify($password, $user['password_hash'])) { + $_SESSION['user_id'] = $user['id']; + header('Location: /'); + exit; + } else { + $error = 'Invalid account or password'; + } + } +} + +include __DIR__ . '/../includes/header.php'; +?> + +
+

+ + +
+ +
+ + +
+
+ + +
+ +
+ + +
+ + +
+ +
+ New to OKX? Create an account +
+
+ + diff --git a/auth/logout.php b/auth/logout.php new file mode 100644 index 0000000..30b3767 --- /dev/null +++ b/auth/logout.php @@ -0,0 +1,5 @@ +prepare("SELECT setting_value FROM system_settings WHERE setting_key = ?"); + $stmt->execute([$key]); + $row = $stmt->fetch(); + return $row ? $row['setting_value'] : $default; +} + +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $account = $_POST['account'] ?? ''; + $password = $_POST['password'] ?? ''; + $confirm_password = $_POST['confirm_password'] ?? ''; + $verify_code = $_POST['verify_code'] ?? ''; + $agree = isset($_POST['agree']); + + if (empty($account) || empty($password)) { + $error = 'Please fill in all fields'; + } elseif ($password !== $confirm_password) { + $error = 'Passwords do not match'; + } elseif ($email_verify_enabled && empty($verify_code)) { + $error = 'Email verification code is required'; + } elseif (!$agree) { + $error = 'You must agree to the Terms and Privacy Policy'; + } else { + if ($email_verify_enabled && $verify_code !== '123456') { + $error = 'Invalid verification code (use 123456 for demo)'; + } else { + try { + $hash = password_hash($password, PASSWORD_DEFAULT); + $stmt = db()->prepare("INSERT INTO users (username, email, password_hash) VALUES (?, ?, ?)"); + + $username = strpos($account, '@') === false ? $account : explode('@', $account)[0]; + $email = strpos($account, '@') !== false ? $account : $account . '@byro.io'; + + $stmt->execute([$username, $email, $hash]); + $userId = db()->lastInsertId(); + + // Initialize balance + $stmt = db()->prepare("INSERT INTO user_balances (user_id, symbol, available) VALUES (?, 'USDT', 0)"); + $stmt->execute([$userId]); + + $_SESSION['user_id'] = $userId; + header('Location: /'); + exit; + } catch (PDOException $e) { + $error = 'Account already exists or database error'; + } + } + } +} + +include __DIR__ . '/../includes/header.php'; +?> + +
+
+
+
+
+
+
+ + + + + +
+ Byro +
+

+

Create your account to start trading

+
+ + +
+ +
+ + +
+
+ + +
+ + +
+ +
+ + +
+
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ + + +
+ Already have an account? +
+
+
+
+
+
+ + diff --git a/binary.php b/binary.php new file mode 100644 index 0000000..940781f --- /dev/null +++ b/binary.php @@ -0,0 +1,9 @@ + diff --git a/contract.php b/contract.php new file mode 100644 index 0000000..277092c --- /dev/null +++ b/contract.php @@ -0,0 +1,9 @@ + diff --git a/db/migrations/001_init_exchange.sql b/db/migrations/001_init_exchange.sql new file mode 100644 index 0000000..5d15268 --- /dev/null +++ b/db/migrations/001_init_exchange.sql @@ -0,0 +1,21 @@ +CREATE TABLE IF NOT EXISTS user_balances ( + id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT NOT NULL, + symbol VARCHAR(10) NOT NULL, + available DECIMAL(20, 8) DEFAULT 0, + frozen DECIMAL(20, 8) DEFAULT 0, + UNIQUE KEY (user_id, symbol) +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS transactions ( + id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT NOT NULL, + type VARCHAR(20) NOT NULL, + amount DECIMAL(20, 8) NOT NULL, + symbol VARCHAR(10) NOT NULL, + status VARCHAR(20) DEFAULT 'completed', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +) ENGINE=InnoDB; + +-- Insert a default user balance for testing (assuming user_id 1) +INSERT IGNORE INTO user_balances (user_id, symbol, available) VALUES (1, 'USDT', 0.00); diff --git a/db/migrations/002_add_users_and_settings.sql b/db/migrations/002_add_users_and_settings.sql new file mode 100644 index 0000000..5f46bc2 --- /dev/null +++ b/db/migrations/002_add_users_and_settings.sql @@ -0,0 +1,14 @@ +CREATE TABLE IF NOT EXISTS users ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(50) UNIQUE, + email VARCHAR(100) UNIQUE, + password_hash VARCHAR(255) NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +) ENGINE=InnoDB; + +CREATE TABLE IF NOT EXISTS system_settings ( + setting_key VARCHAR(50) PRIMARY KEY, + setting_value TEXT +) ENGINE=InnoDB; + +INSERT IGNORE INTO system_settings (setting_key, setting_value) VALUES ('email_verification_enabled', '0'); diff --git a/fees.php b/fees.php new file mode 100644 index 0000000..40a5fb7 --- /dev/null +++ b/fees.php @@ -0,0 +1,76 @@ + +
+

+
+

+ +

Spot Trading Fees

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Tier30d Trading VolumeMaker FeeTaker Fee
VIP 0 (Regular)< $10,0000.100%0.100%
VIP 1≥ $10,0000.080%0.090%
VIP 2≥ $100,0000.060%0.080%
VIP 3≥ $500,0000.040%0.070%
+
+ +

Contract Trading Fees

+
+ + + + + + + + + + + + + + + + + + + + +
TierMaker FeeTaker Fee
Regular0.020%0.050%
VIP 10.015%0.045%
+
+
+
+ diff --git a/help.php b/help.php new file mode 100644 index 0000000..432fbc4 --- /dev/null +++ b/help.php @@ -0,0 +1,73 @@ + +
+
+

+

Search for articles or browse categories below.

+
+ + +
+
+ +
+
+
+ +

Getting Started

+

Learn how to create an account, verify your identity, and secure your funds.

+ +
+
+
+
+ +

Deposits & Withdrawals

+

Everything you need to know about moving assets in and out of Byro.

+ +
+
+
+
+ +

Trading Tutorials

+

Master spot, contract, and binary options trading with our guides.

+ +
+
+
+
+ +

Security & Account

+

Troubleshoot login issues, 2FA, and manage your account settings.

+ +
+
+
+
+ +

API Documentation

+

Integrate Byro trading features into your own applications.

+ +
+
+
+
+ +

Contact Support

+

Can't find what you're looking for? Reach out to our 24/7 team.

+ +
+
+
+
+ + diff --git a/includes/footer.php b/includes/footer.php new file mode 100644 index 0000000..788cee3 --- /dev/null +++ b/includes/footer.php @@ -0,0 +1,81 @@ + + + + + diff --git a/includes/header.php b/includes/header.php new file mode 100644 index 0000000..751fa3e --- /dev/null +++ b/includes/header.php @@ -0,0 +1,228 @@ +prepare("SELECT * FROM users WHERE id = ?"); + $stmt->execute([$_SESSION['user_id']]); + $user = $stmt->fetch(); +} + +function getSetting($key, $default = null) { + $stmt = db()->prepare("SELECT setting_value FROM system_settings WHERE setting_key = ?"); + $stmt->execute([$key]); + $row = $stmt->fetch(); + return $row ? $row['setting_value'] : $default; +} +?> + + + + + + Byro | Professional Digital Asset Exchange + + + + + + + +
+ +
+ + + + + +
+ BYRO +
+ +
+
+ + CN + 中文 + + US + English + + +
+ +
+ + +
+ +
+ + +
+ +
+
+ diff --git a/includes/lang.php b/includes/lang.php new file mode 100644 index 0000000..4a9150b --- /dev/null +++ b/includes/lang.php @@ -0,0 +1,158 @@ + [ + 'home' => '首页', + 'market' => '行情', + 'second_contract' => '秒合约', + 'spot' => '现货交易', + 'contract' => '合约交易', + 'mining' => '挖矿', + 'swap' => '闪兑', + 'personal' => '个人中心', + 'login' => '登入', + 'register' => '注册', + 'logout' => '退出', + 'language' => '语言选择', + 'footer_about' => '关于', + 'footer_product' => '产品', + 'footer_support' => '支持', + 'about_us' => '关于我们', + 'news' => '新闻中心', + 'terms' => '服务条款', + 'help' => '帮助中心', + 'privacy' => '法律与隐私', + 'submit_request' => '提交请求', + 'api_doc' => 'API文档', + 'fee_structure' => '费率标准', + 'app_download' => 'APP下载', + 'system_status' => '系统状态', + 'normal' => '正常', + 'cookie_policy' => 'Cookie 政策', + 'platform_advantage' => '为什么选择 Byro', + 'partners' => '合作伙伴', + 'deposit' => '充值', + 'withdraw' => '提现', + 'assets' => '资产', + 'email_verify' => '邮箱验证码', + 'password' => '密码', + 'confirm_password' => '确认密码', + 'agree_terms' => '我已阅读并同意服务条款和隐私政策', + 'send_code' => '发送验证码', + 'view_more' => '查看更多', + 'hero_title' => '全球领先的数字资产交易平台', + 'hero_subtitle' => '在 Byro 开启您的加密货币之旅,安全、稳定、可靠。', + 'get_started' => '立即开始', + 'popular_markets' => '热门市场', + 'coin' => '币种', + 'last_price' => '最新价', + 'change_24h' => '24h 涨跌', + 'trade' => '交易', + 'why_choose_us' => '为什么选择我们', + 'security_title' => '顶尖风控', + 'security_desc' => '多重签名冷钱包存储,确保资产绝对安全。', + 'liquidity_title' => '极速成交', + 'liquidity_desc' => '毫秒级撮合系统,高达 10w TPS 处理能力。', + 'support_title' => '24/7 全球支持', + 'support_desc' => '专业团队即时响应,为您解决任何交易问题。', + 'diversity_title' => '丰富产品线', + 'diversity_desc' => '涵盖现货、合约、杠杆等多元化金融产品。', + 'copyright' => '© 2023-2026 Byro. 版权所有。', + 'status_normal' => '系统状态:正常', + 'advantage_1_title' => '安全合规', + 'advantage_1_desc' => '全球合规运营,采用冷热钱包分离技术,确保您的资产安全。', + 'advantage_2_title' => '流动性强', + 'advantage_2_desc' => '毫秒级撮合引擎,深度流动性,为您提供极致的交易体验。', + 'advantage_3_title' => '7/24 支持', + 'advantage_3_desc' => '全天候多语言在线客服,随时解答您的任何疑问。', + 'advantage_4_title' => '多样化产品', + 'advantage_4_desc' => '涵盖现货、合约、秒合约、挖矿等多种投资工具。', + 'about_content' => 'Byro 是一家全球领先的数字货币交易平台,成立于 2023 年,致力于为全球用户提供安全、专业、透明的数字资产金融服务。我们拥有顶尖的技术团队和风控体系,为超过 100 个国家和地区的数百万用户提供服务。', + 'news_content' => 'Byro 每日更新全球加密市场动态,包括最新的上币信息、行业动态、深度分析报告,助您掌握财富密码。', + 'fees_content' => 'Byro 致力于提供行业极具竞争力的费率标准。现货交易手续费低至 0.1%,根据您的交易量等级,还可以享受更大幅度的费率折扣。', + 'app_desc' => '随时随地,尽在掌握。下载 Byro 移动端,体验专业级交易。', + ], + 'en' => [ + 'home' => 'Home', + 'market' => 'Market', + 'second_contract' => 'Binary', + 'spot' => 'Spot', + 'contract' => 'Contract', + 'mining' => 'Mining', + 'swap' => 'Swap', + 'personal' => 'Account', + 'login' => 'Login', + 'register' => 'Register', + 'logout' => 'Logout', + 'language' => 'Language', + 'footer_about' => 'About', + 'footer_product' => 'Products', + 'footer_support' => 'Support', + 'about_us' => 'About Us', + 'news' => 'News', + 'terms' => 'Terms of Service', + 'help' => 'Help Center', + 'privacy' => 'Privacy Policy', + 'submit_request' => 'Submit Request', + 'api_doc' => 'API Docs', + 'fee_structure' => 'Fees', + 'app_download' => 'Download App', + 'system_status' => 'System Status', + 'normal' => 'Normal', + 'cookie_policy' => 'Cookie Policy', + 'platform_advantage' => 'Why Choose Byro', + 'partners' => 'Partners', + 'deposit' => 'Deposit', + 'withdraw' => 'Withdraw', + 'assets' => 'Assets', + 'email_verify' => 'Email Code', + 'password' => 'Password', + 'confirm_password' => 'Confirm Password', + 'agree_terms' => 'I have read and agree to the Terms of Service and Privacy Policy', + 'send_code' => 'Send Code', + 'view_more' => 'View More', + 'hero_title' => 'The World\'s Leading Digital Asset Exchange', + 'hero_subtitle' => 'Start your cryptocurrency journey on Byro, secure, stable, and reliable.', + 'get_started' => 'Get Started', + 'popular_markets' => 'Popular Markets', + 'coin' => 'Coin', + 'last_price' => 'Last Price', + 'change_24h' => '24h Change', + 'trade' => 'Trade', + 'why_choose_us' => 'Why Choose Us', + 'security_title' => 'Advanced Security', + 'security_desc' => 'Multi-sig cold storage for ultimate asset safety.', + 'liquidity_title' => 'High Performance', + 'liquidity_desc' => 'Millisecond matching with up to 100k TPS.', + 'support_title' => '24/7 Global Support', + 'support_desc' => 'Professional response for any trading issues.', + 'diversity_title' => 'Diverse Products', + 'diversity_desc' => 'Spot, Futures, and more financial instruments.', + 'copyright' => '© 2023-2026 Byro. All rights reserved.', + 'status_normal' => 'System Status: Normal', + 'advantage_1_title' => 'Security & Compliance', + 'advantage_1_desc' => 'Global compliant operations with cold/hot wallet isolation to ensure asset security.', + 'advantage_2_title' => 'Strong Liquidity', + 'advantage_2_desc' => 'Millisecond matching engine with deep liquidity for an ultimate trading experience.', + 'advantage_3_title' => '7/24 Support', + 'advantage_3_desc' => 'All-day multi-language online customer service to answer your questions anytime.', + 'advantage_4_title' => 'Diverse Products', + 'advantage_4_desc' => 'Covering spot, contract, binary, mining and various investment tools.', + 'about_content' => 'Byro is a world-leading digital currency exchange established in 2023, committed to providing secure, professional, and transparent digital asset financial services to users globally. We have a top-tier technical team and risk control system, serving millions of users across more than 100 countries and regions.', + 'news_content' => 'Byro updates daily global crypto market dynamics, including the latest listing info, industry trends, and in-depth analysis reports to help you master wealth opportunities.', + 'fees_content' => 'Byro is committed to providing industry-competitive fee standards. Spot trading fees as low as 0.1%, with deeper discounts based on your trading volume tier.', + 'app_desc' => 'Anytime, anywhere, at your fingertips. Download Byro mobile app for professional trading experience.', + ] +]; + +function __($key) { + global $translations, $lang; + return $translations[$lang][$key] ?? $key; +} diff --git a/includes/pexels.php b/includes/pexels.php new file mode 100644 index 0000000..26d3ffe --- /dev/null +++ b/includes/pexels.php @@ -0,0 +1,25 @@ + 0 ? $k : 'Vc99rnmOhHhJAbgGQoKLZtsaIVfkeownoQNbTj78VemUjKh08ZYRbf18'; +} +function pexels_get($url) { + $ch = curl_init(); + curl_setopt_array($ch, [ + CURLOPT_URL => $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_HTTPHEADER => [ 'Authorization: '. pexels_key() ], + CURLOPT_TIMEOUT => 15, + ]); + $resp = curl_exec($ch); + $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + if ($code >= 200 && $code < 300 && $resp) return json_decode($resp, true); + return null; +} +function download_to($srcUrl, $destPath) { + $data = @file_get_contents($srcUrl); + if ($data === false) return false; + if (!is_dir(dirname($destPath))) mkdir(dirname($destPath), 0775, true); + return file_put_contents($destPath, $data) !== false; +} diff --git a/includes/terminal_layout.php b/includes/terminal_layout.php new file mode 100644 index 0000000..5969e06 --- /dev/null +++ b/includes/terminal_layout.php @@ -0,0 +1,185 @@ + 'BTC', 'name' => 'Bitcoin', 'id' => '1/small/bitcoin.png', 'price' => '64,234.50', 'change' => '+2.45%'], + ['symbol' => 'ETH', 'name' => 'Ethereum', 'id' => '279/small/ethereum.png', 'price' => '3,456.20', 'change' => '+1.12%'], + ['symbol' => 'BNB', 'name' => 'BNB', 'id' => '825/small/binance-coin-logo.png', 'price' => '598.40', 'change' => '-0.56%'], + ['symbol' => 'SOL', 'name' => 'Solana', 'id' => '4128/small/solana.png', 'price' => '145.20', 'change' => '+5.67%'], + ['symbol' => 'XRP', 'name' => 'Ripple', 'id' => '44/small/xrp-symbol-white-128.png', 'price' => '0.62', 'change' => '-1.23%'], + ['symbol' => 'ADA', 'name' => 'Cardano', 'id' => '975/small/cardano.png', 'price' => '0.58', 'change' => '+0.89%'], + ['symbol' => 'DOGE', 'name' => 'Dogecoin', 'id' => '5/small/dogecoin.png', 'price' => '0.16', 'change' => '+12.4%'], + ['symbol' => 'DOT', 'name' => 'Polkadot', 'id' => '12171/small/polkadot.png', 'price' => '8.45', 'change' => '-2.11%'], + ['symbol' => 'MATIC', 'name' => 'Polygon', 'id' => '4713/small/matic-network.png', 'price' => '0.92', 'change' => '+1.56%'], + ['symbol' => 'LINK', 'name' => 'Chainlink', 'id' => '877/small/chainlink.png', 'price' => '18.40', 'change' => '+3.22%'], + ]; + ?> + +
+ +
+ + + +
+ +
+ +
+ +
+ +
+
+ <?= $c['symbol'] ?> +
+ + +
+
+
+
+ +
+
+ + +
+
+
BTC/USDT
+
+ + 64,234.50 +
+
+ + +2.45% +
+
+ + 65,120.00 +
+
+ + 63,450.00 +
+
+ +
+ +
+ TRADING VIEW CHART +
+
+ +
+
+
+ + +
+
+
+
+ +
+ + USDT +
+
+
+ +
+ + BTC +
+
+ +
+
+
+ +
+ + USDT +
+
+
+ +
+ + BTC +
+
+ +
+
+
+
+ +
+
Open Orders
+ + + + + + + + + + + + + + +
TimeTypeSidePriceAmountStatus
No records found
+
+
+ + +
+
+
+ Price(USDT) + Amount(BTC) +
+
+ +
+ + +
+
+ +
+
+ 64,234.50 + ≈ $64,234.50 +
+
+ +
+ + +
+
+ +
+
+
+
+
+ diff --git a/index.php b/index.php index 7205f3d..23ebef7 100644 --- a/index.php +++ b/index.php @@ -1,150 +1,293 @@ -$phpVersion = PHP_VERSION; -$now = date('Y-m-d H:i:s'); -?> - - - - - - New Style - - - - - - - - - - - - - - - - - - - - - -
-
-

Analyzing your requirements and generating your website…

-
- Loading… -
-

AI is collecting your requirements and applying the first changes.

-

This page will update automatically as the plan is implemented.

-

Runtime: PHP — UTC

+ + +
+ + -
-
- Page updated: (UTC) -
- - + + +
+
+

+ +
+
+ 'BTC', 'name' => 'Bitcoin', 'color' => '#f7931a', 'id' => 'bitcoin'], + ['symbol' => 'ETH', 'name' => 'Ethereum', 'color' => '#627eea', 'id' => 'ethereum'], + ['symbol' => 'USDT', 'name' => 'Tether', 'color' => '#26a17b', 'id' => 'tether'], + ['symbol' => 'BNB', 'name' => 'BNB', 'color' => '#f3ba2f', 'id' => 'binancecoin'], + ['symbol' => 'SOL', 'name' => 'Solana', 'color' => '#14f195', 'id' => 'solana'], + ['symbol' => 'XRP', 'name' => 'XRP', 'color' => '#23292f', 'id' => 'ripple'], + ['symbol' => 'ADA', 'name' => 'Cardano', 'color' => '#0033ad', 'id' => 'cardano'], + ['symbol' => 'DOGE', 'name' => 'Dogecoin', 'color' => '#c2a633', 'id' => 'dogecoin'], + ['symbol' => 'DOT', 'name' => 'Polkadot', 'color' => '#e6007a', 'id' => 'polkadot'], + ['symbol' => 'MATIC', 'name' => 'Polygon', 'color' => '#8247e5', 'id' => 'matic-network'], + ['symbol' => 'LINK', 'name' => 'Chainlink', 'color' => '#2a5ada', 'id' => 'chainlink'], + ['symbol' => 'SHIB', 'name' => 'Shiba Inu', 'color' => '#ffad00', 'id' => 'shiba-inu'] + ]; + foreach ($coins as $coin): + ?> +
+
+
+
+
+ <?php echo $coin['symbol']; ?> + + /USDT +
+ +0.00% +
+
$0.00
+
+ +
+
+
+
+ +
+
+ + +
+

+
+
+
+
+ +
+

+

+
+
+
+
+
+ +
+

+

+
+
+
+
+
+ +
+

+

+
+
+
+
+
+ +
+

+

+
+
+
+
+ + +
+

+
+ 'Binance', 'color' => '#f3ba2f', 'icon' => 'bi-currency-bitcoin'], + ['name' => 'OKX', 'color' => '#ffffff', 'icon' => 'bi-box-seam'], + ['name' => 'Bybit', 'color' => '#ffb11a', 'icon' => 'bi-activity'], + ['name' => 'Huobi', 'color' => '#00b5f8', 'icon' => 'bi-globe'], + ['name' => 'Coinbase', 'color' => '#0052ff', 'icon' => 'bi-shield-shaded'], + ['name' => 'Kraken', 'color' => '#5741d9', 'icon' => 'bi-water'], + ['name' => 'KuCoin', 'color' => '#24ae8f', 'icon' => 'bi-gem'], + ['name' => 'MEXC', 'color' => '#1ea7e1', 'icon' => 'bi-cpu'], + ['name' => 'Gate.io', 'color' => '#e14f4f', 'icon' => 'bi-door-open'], + ['name' => 'Bitfinex', 'color' => '#00cf92', 'icon' => 'bi-lightning'], + ['name' => 'Gemini', 'color' => '#00cf92', 'icon' => 'bi-stars'], + ['name' => 'Upbit', 'color' => '#2a5ada', 'icon' => 'bi-arrow-up-right-circle'], + ['name' => 'Poloniex', 'color' => '#0a6a5d', 'icon' => 'bi-stack'], + ['name' => 'Bitstamp', 'color' => '#1d2128', 'icon' => 'bi-safe'], + ['name' => 'Bithumb', 'color' => '#ff8a00', 'icon' => 'bi-wallet2'] + ]; + foreach ($partners as $p): + ?> +
+
+
+ +
+
+ +
+
+
+ + + + + diff --git a/legal.php b/legal.php new file mode 100644 index 0000000..6066042 --- /dev/null +++ b/legal.php @@ -0,0 +1,35 @@ + +
+
+
+

+
+

Last Updated: February 16, 2026

+
+

Introduction

+

Byro ("we", "us", or "our") respects your privacy and is committed to protecting your personal data. This privacy policy informs you about how we look after your personal data when you visit our website.

+
+
+

The Data We Collect

+

We may collect, use, store and transfer different kinds of personal data about you, including Identity Data, Contact Data, Financial Data, and Technical Data.

+
+
+

How We Use Your Data

+

We will only use your personal data when the law allows us to. Most commonly, we will use your personal data to perform the contract we are about to enter into or have entered into with you.

+
+
+

Data Security

+

We have put in place appropriate security measures to prevent your personal data from being accidentally lost, used, or accessed in an unauthorized way.

+
+
+

Your Legal Rights

+

Under certain circumstances, you have rights under data protection laws in relation to your personal data, including the right to request access, correction, erasure, or restriction of your personal data.

+
+
+
+
+
+ diff --git a/market.php b/market.php new file mode 100644 index 0000000..ce14833 --- /dev/null +++ b/market.php @@ -0,0 +1,74 @@ + +
+

+
+
+ + + + + + + + + + + + 'Bitcoin', 'symbol' => 'BTC', 'price' => '65,432.10', 'change' => '+2.5%', 'vol' => '32.1B'], + ['name' => 'Ethereum', 'symbol' => 'ETH', 'price' => '3,456.78', 'change' => '+1.8%', 'vol' => '15.4B'], + ['name' => 'Tether', 'symbol' => 'USDT', 'price' => '1.00', 'change' => '+0.01%', 'vol' => '45.2B'], + ['name' => 'BNB', 'symbol' => 'BNB', 'price' => '589.20', 'change' => '-0.5%', 'vol' => '1.2B'], + ['name' => 'Solana', 'symbol' => 'SOL', 'price' => '145.67', 'change' => '+5.2%', 'vol' => '3.8B'], + ['name' => 'XRP', 'symbol' => 'XRP', 'price' => '0.62', 'change' => '-1.2%', 'vol' => '800M'], + ['name' => 'Cardano', 'symbol' => 'ADA', 'price' => '0.45', 'change' => '+0.8%', 'vol' => '400M'], + ['name' => 'Dogecoin', 'symbol' => 'DOGE', 'price' => '0.16', 'change' => '+3.4%', 'vol' => '1.1B'], + ['name' => 'Polkadot', 'symbol' => 'DOT', 'price' => '8.90', 'change' => '-2.1%', 'vol' => '200M'], + ['name' => 'Polygon', 'symbol' => 'MATIC', 'price' => '0.92', 'change' => '+1.5%', 'vol' => '300M'] + ]; + foreach ($full_coins as $coin): + ?> + + + + + + + + + +
CoinPrice24h Change24h VolumeAction
+
+ <?= $coin['symbol'] ?> +
+
+
+
+
+
$ + + + Trade +
+
+
+
+ diff --git a/mining.php b/mining.php new file mode 100644 index 0000000..26fdef1 --- /dev/null +++ b/mining.php @@ -0,0 +1,122 @@ + +
+
+

+

Join Byro's high-efficiency mining pools and earn daily rewards.

+
+ +
+
+
+
+
+ +

BTC Pool

+
+
+
+ Est. APY + 12.5% +
+
+ Minimum + 0.01 BTC +
+
+ Term + 30 Days +
+
+ +
+
+
+
+
+
+
+ +

ETH 2.0

+
+
+
+ Est. APY + 8.2% +
+
+ Minimum + 0.1 ETH +
+
+ Term + Flexible +
+
+ +
+
+
+
+
+
+
+ +

USDT Stable

+
+
+
+ Est. APY + 15.0% +
+
+ Minimum + 100 USDT +
+
+ Term + 90 Days +
+
+ +
+
+
+
+ +
+

Why Mine with Byro?

+
+
+
+ +
+
Instant Payouts
+

Daily settlements directly to your Byro wallet.

+
+
+
+
+
+ +
+
Insured Funds
+

Your staked assets are protected by our SAFU fund.

+
+
+
+
+
+ +
+
Compound Earnings
+

Automatically reinvest your rewards for higher yield.

+
+
+
+
+
+
+ diff --git a/news.php b/news.php new file mode 100644 index 0000000..99db6ff --- /dev/null +++ b/news.php @@ -0,0 +1,43 @@ + +
+

+
+
+

+ +
+
+ Announcement +

Byro Lists New Trading Pairs: ARB/USDT and OP/USDT

+

February 14, 2026 • 5 min read

+

We are excited to announce that Byro will list Arbitrum (ARB) and Optimism (OP) for spot trading. Deposits are now open...

+ Read More +
+
+ +
+
+
+
Newsletter
+

Subscribe to get the latest crypto insights delivered to your inbox.

+
+ + +
+
+
Popular Topics
+
+ #Bitcoin + #Web3 + #Ethereum + #DeFi + #NFTs +
+
+
+
+
+ diff --git a/profile.php b/profile.php new file mode 100644 index 0000000..ae977c0 --- /dev/null +++ b/profile.php @@ -0,0 +1,68 @@ +prepare("SELECT * FROM user_balances WHERE user_id = ?"); +$stmt->execute([$user['id']]); +$balances = $stmt->fetchAll(); +?> + +
+
+

+
+
+
+ +

+

+
+
+

UID:

+

Status: Verified

+
+
+
+

My Assets

+ + + + + + + + + + + + + + + + + + + + + + + + +
AssetAvailableFrozenAction
+ Trade +
No assets found.
+
+ + +
+
+
+
+
+ + diff --git a/support.php b/support.php new file mode 100644 index 0000000..7f20be9 --- /dev/null +++ b/support.php @@ -0,0 +1,43 @@ + +
+
+
+

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ Our typical response time is under 2 hours. + For urgent issues, please use the live chat in the bottom right. +
+
+
+
+
+ diff --git a/swap.php b/swap.php new file mode 100644 index 0000000..0cf5fd4 --- /dev/null +++ b/swap.php @@ -0,0 +1,64 @@ + +
+
+
+

+ + +
+
+ From + Balance: 0.00 +
+
+ +
+ + USDT + +
+
+
+ + +
+
+ +
+
+ + +
+
+ To + Balance: 0.00 +
+
+ +
+ + BTC + +
+
+
+ +
+
+ Rate + 1 BTC = 64,234.50 USDT +
+
+ Slippage Tolerance + 0.5% +
+
+ + +
+
+
+ diff --git a/tos.php b/tos.php new file mode 100644 index 0000000..6787e38 --- /dev/null +++ b/tos.php @@ -0,0 +1,35 @@ + +
+
+
+

+
+

Effective Date: February 16, 2026

+
+

1. Acceptance of Terms

+

By accessing or using the Byro platform, you agree to be bound by these Terms of Service. If you do not agree to these terms, please do not use our services.

+
+
+

2. Eligibility

+

You must be at least 18 years old and have the legal capacity to enter into a binding agreement to use our platform. You are responsible for ensuring that your use of Byro complies with all local laws and regulations.

+
+
+

3. Account Security

+

You are responsible for maintaining the confidentiality of your account credentials and for all activities that occur under your account. You agree to notify Byro immediately of any unauthorized use of your account.

+
+
+

4. Trading Risks

+

Digital asset trading involves significant risk. Prices can be highly volatile, and you may lose your entire investment. Byro does not provide financial advice.

+
+
+

5. Termination

+

Byro reserves the right to suspend or terminate your account at any time for any reason, including violation of these terms.

+
+
+
+
+
+ diff --git a/trade.php b/trade.php new file mode 100644 index 0000000..796b77b --- /dev/null +++ b/trade.php @@ -0,0 +1,10 @@ + +