menu_book Complete Documentation

Virtual Real Estate Platform

Complete documentation for the Virtual Real Estate NFT marketplace platform. Everything you need to know from A to Z.

info 1. Introduction

Welcome to the NFTConnect.org platform documentation. This platform allows users to purchase, own, and trade virtual real estate parcels as NFTs (Non-Fungible Tokens) in the metaverse.

lightbulb What is Virtual Real Estate?

Virtual Real Estate NFTs represent ownership of digital land parcels in the metaverse. Each parcel has unique attributes including coordinates (X, Y), terrain type, rarity level, district, and more. These NFTs can be bought, sold, and traded on various marketplaces.

Platform Features

check_circle Secure Purchases

Cryptocurrency payments via NowPayments.io with multiple currency support

check_circle Email Verification

OTP-based email verification for secure transactions

check_circle Advanced Search

Filter by rarity, terrain, district, coordinates, and price

check_circle Mobile Responsive

Fully optimized for mobile devices with responsive design

rocket_launch 2. Getting Started

Requirements

  • check_circle Wallet Address: A cryptocurrency wallet address in 0x format (Ethereum, BNB, Polygon, and other EVM-compatible networks). Must start with '0x' followed by 40 hexadecimal characters.
  • check_circle Email Address: A valid email address for receiving invoices and transaction confirmations.
  • check_circle Payment Method: Cryptocurrency (BTC, ETH, USDT, USDC, BNB, MATIC, etc.) for purchasing land parcels.
  • check_circle Browser: Modern web browser (Chrome, Firefox, Safari, Edge) with JavaScript enabled.

Navigation Menu

Desktop Navigation:

  • Home - Returns to top of homepage
  • Latest - View latest available land parcels
  • Trending - View trending/premium land parcels
  • Featured - View featured land parcels
  • Live TX - View live blockchain transactions
  • My Tickets - Check support ticket status
  • Payment Status - Track payment status (requires email verification)
  • Help Center - Access help articles and FAQs
  • Documentation - This comprehensive guide

Mobile Navigation: Tap the menu icon (☰) in the top right to access all navigation links.

shopping_cart 3. Purchasing Process

Step 1: Browse Land Parcels

Navigate to the homepage and browse available land parcels. You can:

  • Use the search bar to find specific parcels by name, description, or coordinates
  • Filter by rarity (Common, Rare, Epic, Legendary)
  • Filter by terrain (Forest, Desert, Ocean, Mountain, Plains, Volcano, Snow)
  • Filter by district or coordinates
  • Set maximum price filter

Step 2: Select a Land Parcel

Click on any available land parcel card or click "Buy Now" to view details. The details modal shows:

  • Land parcel image and description
  • Coordinates (X, Y)
  • Terrain type
  • Rarity level
  • District information
  • Purchase status and availability

Step 3: Purchase Information

Click "Purchase Land Parcel" to go to the purchase page. You'll need to provide:

  • Wallet Address: Your cryptocurrency wallet address (0x format, 40 hex characters)
  • Email Address: Click "Verify Email" to receive a 6-digit verification code
  • Verification Code: Enter the code sent to your email and click "Verify"
  • Full Name: Your full name for the invoice
  • Country: Select your country from the dropdown

Important: Email verification is required before you can proceed to payment. Make sure to check your email (including spam folder) for the verification code.

Step 4: Invoice Generation

After submitting the purchase form:

  • An invoice is automatically generated with a unique invoice number
  • The invoice is sent to your email address
  • You're redirected to the checkout page
  • The invoice expires in 24 hours

payments 4. Payment Methods

Supported Cryptocurrencies

The platform supports multiple cryptocurrencies through NowPayments.io integration:

Bitcoin (BTC)

Original cryptocurrency

Ethereum (ETH)

EVM-compatible network

Stablecoins

USDT, USDC

BNB

Binance Smart Chain

MATIC

Polygon network

And More

All NowPayments.io supported currencies

Payment Process

1. Select Payment Currency

On the checkout page, select your preferred cryptocurrency from the dropdown. The estimated amount in your chosen currency will be displayed.

2. Create Payment

Click "Proceed to Payment" to create a payment request. The system will:

  • Generate a unique payment ID
  • Calculate the exact amount in your chosen cryptocurrency
  • Display a payment address (QR code available)
  • Show payment expiration time

3. Send Payment

Send the exact amount shown to the provided payment address using your cryptocurrency wallet. You can:

  • Copy the address manually
  • Scan the QR code with your mobile wallet
  • Use the "Copy Address" button for convenience

4. Payment Confirmation

The system automatically monitors your payment:

  • Payment status is checked every 5 seconds
  • Once confirmed, you'll be redirected to the success page
  • NFT delivery is initiated automatically

info Payment Security

  • • All payments are processed through NowPayments.io secure gateway
  • • Payment addresses are generated uniquely for each transaction
  • • Payments are verified on the blockchain before confirmation
  • • Never share your private keys or seed phrase - we only need your public wallet address

inventory_2 5. NFT Delivery

After successful payment confirmation, your NFT is automatically queued for delivery. The delivery process works as follows:

Delivery Workflow

  1. 1. Payment Confirmed: Once your payment is confirmed on the blockchain, a delivery record is created with status "pending".
  2. 2. Admin Review: An administrator reviews the payment and delivery details to ensure everything is correct.
  3. 3. NFT Minting: After admin approval, the NFT is minted to your wallet address on the specified network.
  4. 4. Confirmation Email: You receive an email confirmation when the NFT is successfully delivered to your wallet.

Delivery Time

NFT delivery typically takes 1-4 hours after payment confirmation. During high traffic periods, it may take up to 24 hours. You'll receive email notifications at each stage of the process.

architecture 6. System Architecture

Technology Stack

Backend
  • • PHP 7.4+
  • • SQLite Database
  • • NowPayments.io API
  • • PHPMailer for emails
Frontend
  • • HTML5 & CSS3
  • • Tailwind CSS
  • • Alpine.js
  • • Vanilla JavaScript

File Structure

miniapp/
├── admin/              # Admin dashboard and management
├── config/             # Configuration files
├── css/                # Stylesheets
├── data/               # JSON data files and database
├── functions/          # Utility functions
├── includes/           # Reusable PHP includes
│   ├── config.php      # Main configuration loader
│   ├── head.php        # HTML head section
│   ├── header.php      # Navigation header
│   ├── footer.php      # Footer section
│   ├── hero.php        # Hero section
│   ├── modals.php      # Modal dialogs
│   ├── scripts.php      # JavaScript files
│   └── error_handler.php # Error handling system
├── js/                 # JavaScript files
├── lib/                # Library files
│   ├── db_helper.php   # Database operations
│   ├── nowpayments.php # Payment gateway integration
│   ├── mail_helper.php # Email sending
│   ├── invoice_helper.php # Invoice generation
│   └── wallet_helper.php # Wallet validation
├── index.php           # Main homepage
├── purchase.php        # Purchase form page
├── checkout.php        # Payment checkout page
├── payment_dashboard.php # Payment tracking
├── help.php            # Help center
├── documentation.php   # This documentation
└── webhook/            # Webhook handlers

api 7. API Endpoints

send_otp.php

Method: POST

Purpose: Send OTP verification code to email

Request: {"email": "user@example.com"}

Response: {"status": "success", "message": "OTP sent"}

verify_otp.php

Method: POST

Purpose: Verify OTP code

Request: {"email": "user@example.com", "otp": "123456"}

Response: {"status": "success"} or {"status": "error", "message": "Invalid code"}

check_payment_status.php

Method: GET

Purpose: Check payment status

Parameters: ?payment_id=PAYMENT_ID

Response: {"status": "finished|waiting|failed", "payment_id": "...", "data": {...}}

track_view.php

Method: POST

Purpose: Track land parcel views

Request: {"id": "land_id", "section": "latest|trending"}

Response: {"success": true, "views": 123}

submit-contact.php

Method: POST

Purpose: Submit contact form

Request: FormData with name, email, subject, message

Response: {"status": "success", "message": "Message sent"}

functions/blockchain_transactions.php

Method: GET

Purpose: Fetch live blockchain transactions

Response: Array of transaction objects

storage 8. Database Structure

The platform uses SQLite database for storing transactions, payments, and delivery records. The database file is located at data/claims.db.

Main Tables

invoices

Stores invoice information

  • • invoice_number (PRIMARY KEY)
  • • email
  • • full_name
  • • country
  • • wallet_address
  • • land_id
  • • price
  • • status
  • • created_at
  • • expires_at

payments

Stores payment records

  • • payment_id (PRIMARY KEY)
  • • invoice_number
  • • order_id
  • • email
  • • wallet_address
  • • land_id
  • • amount
  • • currency
  • • pay_currency
  • • pay_amount
  • • pay_address
  • • status
  • • payment_status
  • • network
  • • created_at
  • • expires_at

nft_deliveries

Tracks NFT delivery status

  • • id (PRIMARY KEY)
  • • payment_id
  • • invoice_number
  • • email
  • • wallet_address
  • • network
  • • land_id
  • • status (pending|approved|minted|failed)
  • • transaction_hash
  • • created_at
  • • updated_at

otp_codes

Stores OTP verification codes

  • • id (PRIMARY KEY)
  • • email
  • • code
  • • expires_at
  • • verified
  • • created_at

Data Files

  • data/airdrops.json or data/lands.json - Land parcel data (latest and trending sections)
  • data/claims.json - Legacy claims data (if used)
  • data/email_log.json - Email sending logs
  • data/help_center.json - Help center articles and FAQs
  • config/data.json - Main site configuration

security 9. Security Features

verified_user Email Verification

  • • OTP codes expire in 15 minutes
  • • Codes are 6-digit numeric
  • • Rate limiting prevents abuse
  • • One-time use codes

lock Wallet Validation

  • • Format validation (0x + 40 hex chars)
  • • Network detection
  • • Real-time validation
  • • No private key collection

shield Payment Security

  • • Secure payment gateway (NowPayments.io)
  • • Unique payment addresses per transaction
  • • Blockchain verification
  • • Payment expiration (24 hours)

admin_panel_settings Data Protection

  • • SQL injection prevention (prepared statements)
  • • XSS protection (htmlspecialchars)
  • • CSRF protection
  • • Input validation and sanitization

warning Important Security Notes

  • • Never share your wallet's private keys or seed phrase
  • • Only provide your public wallet address (starts with 0x)
  • • Verify email addresses before submitting forms
  • • Check payment addresses carefully before sending funds
  • • Be cautious of phishing attempts - always verify URLs

bug_report 10. Troubleshooting

Form submission reloads without redirecting expand_more

Possible causes:

  • Email not verified - Check for green "Email verified" message
  • Invalid wallet address format - Must be 0x followed by 40 hex characters
  • Missing required fields - Ensure all fields are filled
  • Network error - Check internet connection

Solution: Check error messages at the top of the form. Ensure email is verified (green checkmark) before submitting.

Email verification code not received expand_more

Check:

  • Spam/junk folder
  • Email address spelling
  • Wait 1-2 minutes for delivery
  • Check email server status

Solution: Click "Resend Code" if available, or try again after a few minutes.

Payment status stuck on "waiting" expand_more

Possible causes:

  • Payment not yet confirmed on blockchain
  • Insufficient network confirmations
  • Payment sent to wrong address
  • Network congestion delays

Solution: Verify payment was sent to correct address. Check blockchain explorer. Contact support if payment confirmed but status not updating.

Mobile layout issues or overflow expand_more

Solutions:

  • Clear browser cache and reload
  • Update browser to latest version
  • Try different browser (Chrome, Safari, Firefox)
  • Rotate device to landscape if needed
  • Zoom out if content appears too large

Note: The platform is fully responsive and should work on all mobile devices. If issues persist, contact support.

Coordinates display too long or overflow expand_more

Fixed: Coordinates now automatically wrap and break on mobile devices. Large numbers are formatted with commas for readability.

If still seeing issues: Clear browser cache and ensure you're using the latest version of the site.

support_agent Contact & Support

Need Additional Help?

Our support team is available 24/7 to assist you with any issues related to purchasing, payments, or NFT delivery.

mail Email Support

send Send Email

help_center Help Center

article Visit Help Center

confirmation_number Ticket System

support Check Ticket Status

account_balance_wallet Payment Dashboard

dashboard Track Payments

bookmark Quick Reference

Page URLs

  • Homepage: index.php
  • Purchase: purchase.php?land_id=ID
  • Checkout: checkout.php?invoice=INVOICE_NUMBER
  • Payment Dashboard: payment_dashboard.php
  • Help Center: help.php
  • Documentation: documentation.php
  • Payment Success: payment_success.php
  • Payment Cancel: payment_cancel.php

Navigation Anchors

  • Home: #home
  • Latest Parcels: #latest
  • Trending Parcels: #trending
  • Featured: #featured
  • Live Transactions: #transactions
  • My Tickets: #tickets
  • Contact: #contact

Last updated: March 18, 2026 | Platform Version: 2.0 | Return to Homepage