Documentation

Cryptocurrency & DeFi

Cryptocurrency & DeFi

UltraViolet Pro includes comprehensive cryptocurrency and decentralized finance (DeFi) interfaces for building crypto wallet applications, exchanges, lending platforms, and ICO dashboards.

Overview

The crypto system provides pre-built interfaces for common cryptocurrency and DeFi use cases, with real-time data visualization and transaction management.

Crypto Wallet

A complete cryptocurrency wallet interface for managing digital assets.

Route: /admin/crypto/wallet

Wallet Dashboard

<div class="row g-3">
    <!-- Total Balance Card -->
    <div class="col-12">
        <div class="card bg-gradient-primary text-white">
            <div class="card-body">
                <h6 class="text-white-50 mb-1">Total Balance</h6>
                <h2 class="mb-0">$45,678.90</h2>
                <div class="d-flex align-items-center mt-2">
                    <span class="badge bg-success bg-opacity-25 text-white">
                        <i class="material-symbols-rounded">trending_up</i>
                        +12.5%
                    </span>
                    <small class="ms-2">24h change</small>
                </div>
            </div>
        </div>
    </div>

    <!-- Asset Cards -->
    <div class="col-md-4">
        <div class="card">
            <div class="card-body">
                <div class="d-flex align-items-center mb-3">
                    <div class="crypto-icon me-3">
                        <img src="./images/crypto/bitcoin.svg" width="40" alt="Bitcoin">
                    </div>
                    <div>
                        <h6 class="mb-0">Bitcoin</h6>
                        <small class="text-muted">BTC</small>
                    </div>
                </div>
                <h4 class="mb-1">2.45 BTC</h4>
                <p class="text-muted mb-0">≈ $32,450.00</p>
                <div class="mt-2">
                    <span class="badge bg-success">+5.2%</span>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-4">
        <div class="card">
            <div class="card-body">
                <div class="d-flex align-items-center mb-3">
                    <div class="crypto-icon me-3">
                        <img src="./images/crypto/ethereum.svg" width="40" alt="Ethereum">
                    </div>
                    <div>
                        <h6 class="mb-0">Ethereum</h6>
                        <small class="text-muted">ETH</small>
                    </div>
                </div>
                <h4 class="mb-1">12.8 ETH</h4>
                <p class="text-muted mb-0">≈ $8,960.00</p>
                <div class="mt-2">
                    <span class="badge bg-success">+3.8%</span>
                </div>
            </div>
        </div>
    </div>

    <div class="col-md-4">
        <div class="card">
            <div class="card-body">
                <div class="d-flex align-items-center mb-3">
                    <div class="crypto-icon me-3">
                        <img src="./images/crypto/usdt.svg" width="40" alt="USDT">
                    </div>
                    <div>
                        <h6 class="mb-0">Tether</h6>
                        <small class="text-muted">USDT</small>
                    </div>
                </div>
                <h4 class="mb-1">4,268.90 USDT</h4>
                <p class="text-muted mb-0">≈ $4,268.90</p>
                <div class="mt-2">
                    <span class="badge bg-secondary">0.0%</span>
                </div>
            </div>
        </div>
    </div>
</div>

Transaction History

<div class="card">
    <div class="card-header">
        <h5 class="card-title mb-0">Transaction History</h5>
    </div>
    <div class="list-group list-group-flush">
        <div class="list-group-item">
            <div class="d-flex justify-content-between align-items-center">
                <div class="d-flex align-items-center">
                    <div class="me-3">
                        <i class="material-symbols-rounded text-success">arrow_downward</i>
                    </div>
                    <div>
                        <h6 class="mb-0">Received Bitcoin</h6>
                        <small class="text-muted">From: 1A1zP1...9QoS</small>
                    </div>
                </div>
                <div class="text-end">
                    <div class="fw-bold text-success">+0.025 BTC</div>
                    <small class="text-muted">2 hours ago</small>
                </div>
            </div>
        </div>
        <div class="list-group-item">
            <div class="d-flex justify-content-between align-items-center">
                <div class="d-flex align-items-center">
                    <div class="me-3">
                        <i class="material-symbols-rounded text-danger">arrow_upward</i>
                    </div>
                    <div>
                        <h6 class="mb-0">Sent Ethereum</h6>
                        <small class="text-muted">To: 0x742d...35a6</small>
                    </div>
                </div>
                <div class="text-end">
                    <div class="fw-bold text-danger">-1.5 ETH</div>
                    <small class="text-muted">5 hours ago</small>
                </div>
            </div>
        </div>
        <!-- More transactions -->
    </div>
</div>

Send/Receive Modals

<!-- Send Modal -->
<div class="modal fade" id="sendModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Send Cryptocurrency</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body">
                <form>
                    <div class="mb-3">
                        <label class="form-label">Asset</label>
                        <select class="form-select">
                            <option>Bitcoin (BTC)</option>
                            <option>Ethereum (ETH)</option>
                            <option>Tether (USDT)</option>
                        </select>
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Recipient Address</label>
                        <input type="text" class="form-control" placeholder="Enter wallet address">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Amount</label>
                        <input type="number" class="form-control" placeholder="0.00">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Network Fee</label>
                        <div class="d-flex gap-2">
                            <button type="button" class="btn btn-outline-secondary flex-fill">Slow</button>
                            <button type="button" class="btn btn-outline-primary flex-fill active">Normal</button>
                            <button type="button" class="btn btn-outline-success flex-fill">Fast</button>
                        </div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
                <button type="button" class="btn btn-primary">Send</button>
            </div>
        </div>
    </div>
</div>

Crypto Exchange

A trading interface for cryptocurrency exchanges.

Route: /admin/crypto/exchange

Trading Interface

<div class="row g-3">
    <!-- Trading Chart -->
    <div class="col-lg-8">
        <div class="card">
            <div class="card-header">
                <div class="d-flex justify-content-between align-items-center">
                    <div class="d-flex align-items-center">
                        <h5 class="mb-0 me-3">BTC/USDT</h5>
                        <span class="text-success fs-4">$42,567.89</span>
                        <span class="badge bg-success ms-2">+2.45%</span>
                    </div>
                    <div class="btn-group btn-group-sm">
                        <button class="btn btn-outline-secondary">1H</button>
                        <button class="btn btn-outline-secondary active">24H</button>
                        <button class="btn btn-outline-secondary">1W</button>
                        <button class="btn btn-outline-secondary">1M</button>
                    </div>
                </div>
            </div>
            <div class="card-body">
                <div id="tradingChart" style="height: 400px;"></div>
            </div>
        </div>
    </div>

    <!-- Order Book -->
    <div class="col-lg-4">
        <div class="card">
            <div class="card-header">
                <h5 class="card-title mb-0">Order Book</h5>
            </div>
            <div class="card-body p-0">
                <!-- Sell Orders -->
                <div class="order-book-section">
                    <div class="order-book-header px-3 py-2 bg-danger bg-opacity-10">
                        <div class="row text-muted small">
                            <div class="col">Price (USDT)</div>
                            <div class="col text-end">Amount (BTC)</div>
                        </div>
                    </div>
                    <div class="order-book-list">
                        <div class="order-book-item px-3 py-1">
                            <div class="row small">
                                <div class="col text-danger">42,570.00</div>
                                <div class="col text-end">0.125</div>
                            </div>
                        </div>
                        <!-- More orders -->
                    </div>
                </div>

                <!-- Current Price -->
                <div class="text-center py-2 bg-primary bg-opacity-10">
                    <span class="fw-bold">42,567.89</span>
                </div>

                <!-- Buy Orders -->
                <div class="order-book-section">
                    <div class="order-book-list">
                        <div class="order-book-item px-3 py-1">
                            <div class="row small">
                                <div class="col text-success">42,565.00</div>
                                <div class="col text-end">0.238</div>
                            </div>
                        </div>
                        <!-- More orders -->
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- Buy/Sell Form -->
    <div class="col-12">
        <div class="card">
            <div class="card-body">
                <ul class="nav nav-tabs mb-3" role="tablist">
                    <li class="nav-item">
                        <button class="nav-link active" data-bs-toggle="tab" data-bs-target="#buy-tab">Buy</button>
                    </li>
                    <li class="nav-item">
                        <button class="nav-link" data-bs-toggle="tab" data-bs-target="#sell-tab">Sell</button>
                    </li>
                </ul>
                <div class="tab-content">
                    <div class="tab-pane fade show active" id="buy-tab">
                        <form>
                            <div class="row g-3">
                                <div class="col-md-3">
                                    <label class="form-label">Price (USDT)</label>
                                    <input type="number" class="form-control" value="42567.89">
                                </div>
                                <div class="col-md-3">
                                    <label class="form-label">Amount (BTC)</label>
                                    <input type="number" class="form-control" placeholder="0.00">
                                </div>
                                <div class="col-md-3">
                                    <label class="form-label">Total (USDT)</label>
                                    <input type="number" class="form-control" placeholder="0.00" readonly>
                                </div>
                                <div class="col-md-3">
                                    <label class="form-label">&nbsp;</label>
                                    <button type="submit" class="btn btn-success w-100">Buy BTC</button>
                                </div>
                            </div>
                        </form>
                    </div>
                    <div class="tab-pane fade" id="sell-tab">
                        <!-- Sell form similar to buy form -->
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Crypto Lending

DeFi lending and borrowing interface.

Route: /admin/crypto/lending

Lending Dashboard

<div class="row g-3">
    <!-- Lending Stats -->
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Total Supplied</h6>
                <h3>$125,430</h3>
                <small class="text-success">+8.5% APY</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Total Borrowed</h6>
                <h3>$45,200</h3>
                <small class="text-danger">-12.3% APY</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Net APY</h6>
                <h3>5.8%</h3>
                <small class="text-success">Earning interest</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Health Factor</h6>
                <h3>2.45</h3>
                <small class="text-success">Safe</small>
            </div>
        </div>
    </div>

    <!-- Assets to Supply -->
    <div class="col-12">
        <div class="card">
            <div class="card-header">
                <h5 class="card-title mb-0">Assets to Supply</h5>
            </div>
            <div class="table-responsive">
                <table class="table table-hover mb-0">
                    <thead>
                        <tr>
                            <th>Asset</th>
                            <th>Wallet Balance</th>
                            <th>APY</th>
                            <th>Can be Collateral</th>
                            <th></th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td>
                                <div class="d-flex align-items-center">
                                    <img src="./images/crypto/usdc.svg" width="32" class="me-2">
                                    <div>
                                        <div class="fw-bold">USDC</div>
                                        <small class="text-muted">USD Coin</small>
                                    </div>
                                </div>
                            </td>
                            <td>5,000.00 USDC</td>
                            <td class="text-success">8.5%</td>
                            <td><span class="badge bg-success">Yes</span></td>
                            <td><button class="btn btn-sm btn-primary">Supply</button></td>
                        </tr>
                        <!-- More assets -->
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

ICO Dashboard

Initial Coin Offering management dashboard.

Route: /admin/crypto/ico

ICO Overview

<div class="row g-3">
    <!-- ICO Progress -->
    <div class="col-12">
        <div class="card bg-gradient-primary text-white">
            <div class="card-body">
                <h3 class="mb-3">Token Sale Progress</h3>
                <div class="row align-items-center">
                    <div class="col-md-8">
                        <div class="progress" style="height: 30px;">
                            <div class="progress-bar bg-success" style="width: 65%">
                                65% Complete
                            </div>
                        </div>
                        <div class="d-flex justify-content-between mt-2">
                            <span>0 tokens</span>
                            <span>100M tokens</span>
                        </div>
                    </div>
                    <div class="col-md-4 text-end">
                        <h2 class="mb-0">65M / 100M</h2>
                        <p class="mb-0">Tokens Sold</p>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- ICO Stats -->
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Funds Raised</h6>
                <h3>$32.5M</h3>
                <small class="text-muted">of $50M goal</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Contributors</h6>
                <h3>12,456</h3>
                <small class="text-success">+234 today</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Token Price</h6>
                <h3>$0.50</h3>
                <small class="text-muted">per token</small>
            </div>
        </div>
    </div>
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <h6 class="text-muted">Time Remaining</h6>
                <h3>15d 8h</h3>
                <small class="text-warning">Sale ends soon</small>
            </div>
        </div>
    </div>

    <!-- Purchase Form -->
    <div class="col-md-6">
        <div class="card">
            <div class="card-header">
                <h5 class="card-title mb-0">Purchase Tokens</h5>
            </div>
            <div class="card-body">
                <form>
                    <div class="mb-3">
                        <label class="form-label">Payment Method</label>
                        <select class="form-select">
                            <option>ETH</option>
                            <option>BTC</option>
                            <option>USDT</option>
                            <option>Credit Card</option>
                        </select>
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Amount to Invest</label>
                        <input type="number" class="form-control" placeholder="0.00">
                    </div>
                    <div class="mb-3">
                        <label class="form-label">Tokens Received</label>
                        <input type="text" class="form-control" value="0 tokens" readonly>
                    </div>
                    <button type="submit" class="btn btn-primary w-100">Purchase Tokens</button>
                </form>
            </div>
        </div>
    </div>

    <!-- Token Distribution -->
    <div class="col-md-6">
        <div class="card">
            <div class="card-header">
                <h5 class="card-title mb-0">Token Distribution</h5>
            </div>
            <div class="card-body">
                <div id="distributionChart"></div>
                <div class="mt-3">
                    <div class="d-flex justify-content-between mb-2">
                        <span><i class="material-symbols-rounded text-primary">circle</i> Public Sale</span>
                        <span class="fw-bold">50%</span>
                    </div>
                    <div class="d-flex justify-content-between mb-2">
                        <span><i class="material-symbols-rounded text-success">circle</i> Team</span>
                        <span class="fw-bold">20%</span>
                    </div>
                    <div class="d-flex justify-content-between mb-2">
                        <span><i class="material-symbols-rounded text-info">circle</i> Advisors</span>
                        <span class="fw-bold">10%</span>
                    </div>
                    <div class="d-flex justify-content-between">
                        <span><i class="material-symbols-rounded text-warning">circle</i> Reserve</span>
                        <span class="fw-bold">20%</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Crypto Orders

Manage cryptocurrency buy/sell orders and trade history.

Route: /admin/crypto/orders

Orders Table

<div class="card">
    <div class="card-header">
        <ul class="nav nav-tabs card-header-tabs">
            <li class="nav-item">
                <button class="nav-link active">Open Orders</button>
            </li>
            <li class="nav-item">
                <button class="nav-link">Order History</button>
            </li>
            <li class="nav-item">
                <button class="nav-link">Trade History</button>
            </li>
        </ul>
    </div>
    <div class="table-responsive">
        <table class="table table-hover mb-0">
            <thead>
                <tr>
                    <th>Date</th>
                    <th>Pair</th>
                    <th>Type</th>
                    <th>Side</th>
                    <th>Price</th>
                    <th>Amount</th>
                    <th>Filled</th>
                    <th>Total</th>
                    <th>Status</th>
                    <th>Action</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>Oct 16, 2025 14:23</td>
                    <td>BTC/USDT</td>
                    <td>Limit</td>
                    <td><span class="badge bg-success">Buy</span></td>
                    <td>$42,500.00</td>
                    <td>0.5 BTC</td>
                    <td>0.25 BTC (50%)</td>
                    <td>$21,250.00</td>
                    <td><span class="badge bg-warning">Partial</span></td>
                    <td><button class="btn btn-sm btn-danger">Cancel</button></td>
                </tr>
                <!-- More orders -->
            </tbody>
        </table>
    </div>
</div>

Real-time Price Updates

Integrate WebSocket for real-time crypto prices:

// Example with Livewire
class CryptoPrices extends Component
{
    public $prices = [];

    public function mount()
    {
        $this->refreshPrices();
    }

    public function refreshPrices()
    {
        // Fetch from API
        $this->prices = [
            'BTC' => ['price' => 42567.89, 'change' => 2.45],
            'ETH' => ['price' => 2234.56, 'change' => -1.23],
            'USDT' => ['price' => 1.00, 'change' => 0.00],
        ];
    }

    public function render()
    {
        return view('livewire.crypto-prices');
    }
}

Best Practices

  1. Security: Never store private keys client-side
  2. Validation: Validate all addresses and amounts
  3. Confirmations: Show clear transaction confirmations
  4. Fees: Display network fees before transactions
  5. Compliance: Ensure KYC/AML compliance where required
  6. Real-time Data: Use WebSocket for live price updates
  7. Error Handling: Handle blockchain errors gracefully

Export

Crypto interfaces can be exported as static HTML with mock data for demonstration purposes. For production, integrate with actual blockchain APIs and wallet providers.