{"id":21418,"date":"2026-06-30T16:36:42","date_gmt":"2026-06-30T16:36:42","guid":{"rendered":"https:\/\/marketplace-marketplace.com\/?page_id=21418"},"modified":"2026-06-30T16:38:19","modified_gmt":"2026-06-30T16:38:19","slug":"visit-and-buy","status":"publish","type":"page","link":"https:\/\/marketplace-marketplace.com\/index.php\/visit-and-buy\/","title":{"rendered":""},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"21418\" class=\"elementor elementor-21418\" data-elementor-settings=\"[]\">\n\t\t\t\t\t\t\t<div class=\"elementor-section-wrap\">\n\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-390cda9 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"390cda9\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7561e0c\" data-id=\"7561e0c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0d17fe6 elementor-widget elementor-widget-html\" data-id=\"0d17fe6\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">\r\n<title>Freelance Marketplace | No Gas Fees | 5% Platform Fee<\/title>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/web3@1.8.0\/dist\/web3.min.js\"><\/script>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n* { margin: 0; padding: 0; box-sizing: border-box; }\r\nbody {\r\nfont-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;\r\nbackground: linear-gradient(135deg, #0a0e27 0%, #1a1a3e 100%);\r\ncolor: #ffffff;\r\nmin-height: 100vh;\r\n}\r\n.container { max-width: 1400px; margin: 0 auto; padding: 20px; }\r\n.header {\r\ndisplay: flex;\r\njustify-content: space-between;\r\nalign-items: center;\r\nflex-wrap: wrap;\r\ngap: 20px;\r\nmargin-bottom: 30px;\r\npadding: 20px;\r\nbackground: rgba(255,255,255,0.03);\r\nbackdrop-filter: blur(10px);\r\nborder-radius: 20px;\r\nborder: 1px solid rgba(255,255,255,0.1);\r\n}\r\n.logo h1 {\r\nfont-size: 28px;\r\nfont-weight: 800;\r\nbackground: linear-gradient(135deg, #6366f1, #8b5cf6);\r\n-webkit-background-clip: text;\r\nbackground-clip: text;\r\ncolor: transparent;\r\n}\r\n.logo p { font-size: 12px; color: #94a3b8; }\r\n.wallet-section { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; }\r\n.wallet-card {\r\nbackground: rgba(0,0,0,0.3);\r\nborder-radius: 16px;\r\npadding: 10px 20px;\r\nborder: 1px solid rgba(99,102,241,0.3);\r\n}\r\n.wallet-address { font-family: monospace; font-size: 13px; color: #22c55e; }\r\n.stats-grid {\r\ndisplay: grid;\r\ngrid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\ngap: 20px;\r\nmargin-bottom: 30px;\r\n}\r\n.stat-card {\r\nbackground: rgba(255,255,255,0.03);\r\nbackdrop-filter: blur(10px);\r\nborder-radius: 16px;\r\npadding: 20px;\r\ntext-align: center;\r\nborder: 1px solid rgba(255,255,255,0.1);\r\n}\r\n.stat-value { font-size: 28px; font-weight: 700; margin-top: 10px; color: #22c55e; }\r\n.stat-label { font-size: 13px; color: #94a3b8; }\r\n.info-box {\r\nbackground: #3b82f620;\r\nborder-left: 4px solid #3b82f6;\r\npadding: 15px;\r\nborder-radius: 12px;\r\nmargin-bottom: 20px;\r\nfont-size: 13px;\r\n}\r\n.filters {\r\ndisplay: flex;\r\ngap: 15px;\r\nmargin-bottom: 25px;\r\nflex-wrap: wrap;\r\n}\r\n.filter-group { flex: 1; min-width: 200px; }\r\n.filter-group input, .filter-group select {\r\nwidth: 100%;\r\npadding: 12px 16px;\r\nbackground: rgba(0,0,0,0.3);\r\nborder: 1px solid rgba(255,255,255,0.1);\r\nborder-radius: 12px;\r\ncolor: white;\r\nfont-size: 14px;\r\n}\r\n.projects-grid {\r\ndisplay: grid;\r\ngrid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\ngap: 20px;\r\nmargin-bottom: 40px;\r\n}\r\n.project-card {\r\nbackground: rgba(255,255,255,0.03);\r\nbackdrop-filter: blur(10px);\r\nborder-radius: 20px;\r\npadding: 20px;\r\nborder: 1px solid rgba(255,255,255,0.1);\r\ntransition: all 0.3s;\r\ncursor: pointer;\r\n}\r\n.project-card:hover { border-color: #6366f1; transform: translateY(-3px); }\r\n.project-category {\r\ndisplay: inline-block;\r\npadding: 4px 12px;\r\nborder-radius: 20px;\r\nfont-size: 11px;\r\nfont-weight: 600;\r\nmargin-bottom: 12px;\r\n}\r\n.category-dev { background: #3b82f620; color: #3b82f6; }\r\n.category-design { background: #8b5cf620; color: #8b5cf6; }\r\n.category-marketing { background: #f59e0b20; color: #f59e0b; }\r\n.category-writing { background: #10b98120; color: #10b981; }\r\n.category-consulting { background: #ef444420; color: #ef4444; }\r\n.category-ai { background: #a855f720; color: #a855f7; }\r\n.category-security { background: #ec489920; color: #ec4899; }\r\n.category-defi { background: #06b6d420; color: #06b6d4; }\r\n.project-title { font-size: 18px; font-weight: 700; margin-bottom: 10px; }\r\n.project-description { font-size: 14px; color: #94a3b8; margin-bottom: 15px; line-height: 1.5; }\r\n.project-price { font-size: 24px; font-weight: 800; color: #6366f1; margin: 15px 0; }\r\n.project-delivery { font-size: 12px; color: #6c7293; margin-bottom: 15px; }\r\n.project-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; }\r\n.freelancer-name { font-size: 13px; color: #94a3b8; }\r\n.btn {\r\npadding: 10px 20px;\r\nborder-radius: 10px;\r\nfont-weight: 600;\r\ncursor: pointer;\r\ntransition: all 0.3s;\r\nborder: none;\r\nfont-size: 13px;\r\n}\r\n.btn-primary { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; }\r\n.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px rgba(99,102,241,0.3); }\r\n.btn-danger { background: #ef4444; color: white; }\r\n.btn-success { background: #22c55e; color: white; }\r\n.modal {\r\ndisplay: none;\r\nposition: fixed;\r\ntop: 0;\r\nleft: 0;\r\nwidth: 100%;\r\nheight: 100%;\r\nbackground: rgba(0,0,0,0.95);\r\nbackdrop-filter: blur(10px);\r\nz-index: 1000;\r\nalign-items: center;\r\njustify-content: center;\r\n}\r\n.modal-content {\r\nbackground: #1e293b;\r\nborder-radius: 24px;\r\npadding: 30px;\r\nmax-width: 500px;\r\nwidth: 90%;\r\nmax-height: 85vh;\r\noverflow-y: auto;\r\n}\r\n.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }\r\n.close-modal { background: none; border: none; color: white; font-size: 28px; cursor: pointer; }\r\n.form-group { margin-bottom: 20px; }\r\n.form-group label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: #cbd5e1; }\r\n.form-group input, .form-group textarea, .form-group select {\r\nwidth: 100%;\r\npadding: 12px;\r\nbackground: #0f172a;\r\nborder: 1px solid rgba(255,255,255,0.1);\r\nborder-radius: 10px;\r\ncolor: white;\r\n}\r\n.alert {\r\nposition: fixed;\r\nbottom: 20px;\r\nright: 20px;\r\npadding: 15px 20px;\r\nborder-radius: 12px;\r\nbackground: #1e293b;\r\nborder-left: 4px solid;\r\nz-index: 2000;\r\nanimation: slideIn 0.3s;\r\n}\r\n@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }\r\n.alert-success { border-left-color: #22c55e; }\r\n.alert-error { border-left-color: #ef4444; }\r\n.alert-info { border-left-color: #3b82f6; }\r\n.pagination { display: flex; justify-content: center; gap: 10px; margin-top: 30px; flex-wrap: wrap; }\r\n.page-btn {\r\npadding: 8px 16px;\r\nbackground: rgba(255,255,255,0.05);\r\nborder: 1px solid rgba(255,255,255,0.1);\r\nborder-radius: 8px;\r\ncolor: white;\r\ncursor: pointer;\r\n}\r\n.page-btn.active { background: #6366f1; }\r\n.tabs {\r\ndisplay: flex;\r\ngap: 10px;\r\nmargin-bottom: 25px;\r\nflex-wrap: wrap;\r\nborder-bottom: 1px solid rgba(255,255,255,0.1);\r\npadding-bottom: 10px;\r\n}\r\n.tab-btn {\r\nbackground: none;\r\nborder: none;\r\ncolor: #94a3b8;\r\nfont-size: 14px;\r\nfont-weight: 600;\r\npadding: 10px 24px;\r\ncursor: pointer;\r\nborder-radius: 12px;\r\n}\r\n.tab-btn.active { background: rgba(99,102,241,0.2); color: #6366f1; }\r\n.tab-content { display: none; }\r\n.tab-content.active { display: block; }\r\n.loading-overlay {\r\nposition: fixed;\r\ntop: 0;\r\nleft: 0;\r\nwidth: 100%;\r\nheight: 100%;\r\nbackground: rgba(0,0,0,0.9);\r\ndisplay: flex;\r\nalign-items: center;\r\njustify-content: center;\r\nz-index: 9999;\r\n}\r\n.spinner {\r\nwidth: 50px;\r\nheight: 50px;\r\nborder: 3px solid #6366f1;\r\nborder-top-color: transparent;\r\nborder-radius: 50%;\r\nanimation: spin 1s linear infinite;\r\n}\r\n@keyframes spin { to { transform: rotate(360deg); } }\r\n.badge { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 12px; font-weight: 600; }\r\n.badge-active { background: #22c55e20; color: #22c55e; }\r\n.badge-completed { background: #10b98120; color: #10b981; }\r\n.fee-badge { background: #f59e0b20; color: #f59e0b; }\r\n@media (max-width: 768px) {\r\n.container { padding: 15px; }\r\n.stats-grid { grid-template-columns: repeat(2,1fr); }\r\n.projects-grid { grid-template-columns: 1fr; }\r\n.filters { flex-direction: column; }\r\n}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"container\">\r\n<div class=\"header\">\r\n<div class=\"logo\">\r\n<h1>\ud83d\udd12 Freelance Marketplace<\/h1>\r\n<p>1,000,000+ Projects - Software, Code or Script | 5% Platform Fee | NO GAS FEES<\/p>\r\n<\/div>\r\n<div class=\"wallet-section\">\r\n<div class=\"wallet-card\">\r\n<div id=\"walletDot\" style=\"width: 8px; height: 8px; border-radius: 50%; display: inline-block; margin-right: 8px; background: #ef4444;\"><\/div>\r\n<span id=\"walletStatus\">Not Connected<\/span>\r\n<div id=\"walletAddress\" class=\"wallet-address\"><\/div>\r\n<div id=\"walletBalance\" style=\"font-size: 11px; margin-top: 5px;\"><\/div>\r\n<\/div>\r\n<button id=\"connectBtn\" class=\"btn btn-primary\">\ud83e\udd8a Connect MetaMask<\/button>\r\n<button id=\"disconnectBtn\" class=\"btn btn-danger\" style=\"display: none;\">Disconnect<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"info-box\">\r\n\ud83d\udca1 <strong>NO GAS FEES!<\/strong> This platform uses direct ETH transfers.<br>\r\n\u2705 Client pays freelancer directly + 5% platform fee to <strong>0xF0d8d1...58170<\/strong><br>\r\n\u2705 Freelancer receives 95% of payment to <strong>0xc5802F...1Bb<\/strong>\r\n<\/div>\r\n\r\n<div class=\"stats-grid\">\r\n<div class=\"stat-card\"><div class=\"stat-label\">Total Projects<\/div><div class=\"stat-value\" id=\"totalProjects\">1,000,000<\/div><\/div>\r\n<div class=\"stat-card\"><div class=\"stat-label\">Total Volume<\/div><div class=\"stat-value\" id=\"totalVolume\">0 ETH<\/div><\/div>\r\n<div class=\"stat-card\"><div class=\"stat-label\">Active Projects<\/div><div class=\"stat-value\" id=\"activeProjects\">0<\/div><\/div>\r\n<div class=\"stat-card\"><div class=\"stat-label\">Platform Fee<\/div><div class=\"stat-value\" id=\"platformFee\">5%<\/div><\/div>\r\n<\/div>\r\n\r\n<div class=\"tabs\">\r\n<button class=\"tab-btn active\" data-tab=\"marketplace\">\ud83d\udccb Marketplace (1M+ Projects - Software, Code or Script)<\/button>\r\n<button class=\"tab-btn\" data-tab=\"my-projects\">\ud83d\udcc1 My Projects<\/button>\r\n<button class=\"tab-btn\" data-tab=\"list-project\">\ud83d\udcdd List Your Project<\/button>\r\n<\/div>\r\n\r\n<div id=\"marketplaceTab\" class=\"tab-content active\">\r\n<div class=\"filters\">\r\n<div class=\"filter-group\"><select id=\"categoryFilter\"><option value=\"all\">All Categories<\/option><option value=\"development\">\ud83d\udcbb Development<\/option><option value=\"design\">\ud83c\udfa8 Design<\/option><option value=\"marketing\">\ud83d\udce2 Marketing<\/option><option value=\"writing\">\u270d\ufe0f Writing<\/option><option value=\"consulting\">\ud83d\udcca Consulting<\/option><option value=\"ai\">\ud83e\udd16 AI\/ML<\/option><option value=\"security\">\ud83d\udd12 Security<\/option><option value=\"defi\">\ud83d\udcb0 DeFi<\/option><\/select><\/div>\r\n<div class=\"filter-group\"><input type=\"text\" id=\"searchFilter\" placeholder=\"Search 1M+ projects...\"><\/div>\r\n<div class=\"filter-group\"><select id=\"sortFilter\"><option value=\"price-asc\">Price: Low to High<\/option><option value=\"price-desc\">Price: High to Low<\/option><option value=\"popular\">Most Popular<\/option><\/select><\/div>\r\n<\/div>\r\n<div class=\"projects-grid\" id=\"projectsGrid\"><\/div>\r\n<div class=\"pagination\" id=\"pagination\"><\/div>\r\n<\/div>\r\n\r\n<div id=\"myProjectsTab\" class=\"tab-content\">\r\n<div class=\"projects-grid\" id=\"myProjectsGrid\"><div style=\"text-align:center;padding:60px;\">Connect wallet to view your projects<\/div><\/div>\r\n<\/div>\r\n\r\n<div id=\"listProjectTab\" class=\"tab-content\">\r\n<div class=\"form-card\" style=\"background:rgba(255,255,255,0.03);border-radius:20px;padding:30px;\">\r\n<h3 style=\"margin-bottom:20px;\">\ud83d\udcdd List Your Freelance Service<\/h3>\r\n<p style=\"margin-bottom:20px;color:#94a3b8;\">Get paid to <strong>0xc5802F7DdDC415Bd14E9c588cE29a6aB99Ab91Bb<\/strong> (95% of payment)<\/p>\r\n<form id=\"listProjectForm\">\r\n<div class=\"form-group\"><label>Project Title *<\/label><input type=\"text\" id=\"projectTitle\" required><\/div>\r\n<div class=\"form-group\"><label>Category *<\/label><select id=\"projectCategory\" required><option value=\"development\">\ud83d\udcbb Development<\/option><option value=\"design\">\ud83c\udfa8 Design<\/option><option value=\"marketing\">\ud83d\udce2 Marketing<\/option><option value=\"writing\">\u270d\ufe0f Writing<\/option><option value=\"consulting\">\ud83d\udcca Consulting<\/option><option value=\"ai\">\ud83e\udd16 AI\/ML<\/option><option value=\"security\">\ud83d\udd12 Security<\/option><option value=\"defi\">\ud83d\udcb0 DeFi<\/option><\/select><\/div>\r\n<div class=\"form-group\"><label>Description *<\/label><textarea id=\"projectDescription\" rows=\"4\" required><\/textarea><\/div>\r\n<div class=\"form-group\"><label>Price (ETH) *<\/label><input type=\"number\" id=\"projectPrice\" step=\"0.01\" required><\/div>\r\n<div class=\"form-group\"><label>Delivery Time (days) *<\/label><input type=\"number\" id=\"projectDelivery\" value=\"7\" required><\/div>\r\n<button type=\"submit\" class=\"btn btn-primary\" style=\"width:100%;\">\u2728 List Project<\/button>\r\n<\/form>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n<!-- Purchase Modal - Direct ETH Transfer (No Gas Fees to Platform) -->\r\n<div id=\"purchaseModal\" class=\"modal\">\r\n<div class=\"modal-content\">\r\n<div class=\"modal-header\"><h3>Purchase Project<\/h3><button class=\"close-modal\" onclick=\"closePurchaseModal()\">&times;<\/button><\/div>\r\n<div id=\"purchaseDetails\"><\/div>\r\n<div class=\"info-box\" style=\"margin: 15px 0;\">\r\n\ud83d\udca1 <strong>NO GAS FEES!<\/strong> Client sends ETH directly:<br>\r\n\u2022 95% \u2192 Freelancer (<span id=\"modalFreelancerAddr\">0xc5802F...1Bb<\/span>)<br>\r\n\u2022 5% \u2192 Platform (<span id=\"modalPlatformAddr\">0xF0d8d1...58170<\/span>)\r\n<\/div>\r\n<div class=\"form-group\"><label>Total Payment (ETH)<\/label><input type=\"number\" id=\"purchaseAmount\" step=\"0.01\" readonly><\/div>\r\n<div class=\"form-group\"><label>Freelancer Receives (95%)<\/label><input type=\"text\" id=\"freelancerAmount\" readonly style=\"color:#22c55e;\"><\/div>\r\n<div class=\"form-group\"><label>Platform Fee (5%) \u2192 0xF0d8d116341461b40B8107ad52A8F373b4D58170<\/label><input type=\"text\" id=\"platformFeeAmount\" readonly style=\"color:#f59e0b;\"><\/div>\r\n<button id=\"confirmPurchaseBtn\" class=\"btn btn-primary\" style=\"width:100%;\">\ud83d\udcb0 Send Payment (No Gas Fee)<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n<!-- Complete Project Modal -->\r\n<div id=\"completeModal\" class=\"modal\">\r\n<div class=\"modal-content\">\r\n<div class=\"modal-header\"><h3>Complete Project<\/h3><button class=\"close-modal\" onclick=\"closeCompleteModal()\">&times;<\/button><\/div>\r\n<div id=\"completeDetails\"><\/div>\r\n<div class=\"form-group\"><label>Confirm work is complete?<\/label><\/div>\r\n<button id=\"confirmCompleteBtn\" class=\"btn btn-success\" style=\"width:100%;\">\u2705 Mark as Complete & Get Paid<\/button>\r\n<\/div>\r\n<\/div>\r\n\r\n<div id=\"alertContainer\"><\/div>\r\n\r\n<script>\r\n\/\/ ============================================================\r\n\/\/ NO GAS FEES - DIRECT ETH TRANSFERS\r\n\/\/ Platform Fee: 5% to 0xF0d8d116341461b40B8107ad52A8F373b4D58170\r\n\/\/ Freelancer Payment: 95% to 0xc5802F7DdDC415Bd14E9c588cE29a6aB99Ab91Bb\r\n\/\/ ============================================================\r\n\r\nconst PLATFORM_ADDRESS = \"0xF0d8d116341461b40B8107ad52A8F373b4D58170\";\r\nconst FREELANCER_PAYMENT_ADDRESS = \"0xc5802F7DdDC415Bd14E9c588cE29a6aB99Ab91Bb\";\r\nconst PLATFORM_FEE_PERCENT = 5;\r\n\r\nlet web3 = null;\r\nlet userAddress = null;\r\nlet userProjects = [];\r\nlet currentPage = 1;\r\nlet itemsPerPage = 12;\r\nlet selectedProject = null;\r\nlet selectedProjectForComplete = null;\r\n\r\n\/\/ Generate 1 Million Projects\r\nfunction generateMillionProjects() {\r\nconst categories = ['development', 'design', 'marketing', 'writing', 'consulting', 'ai', 'security', 'defi'];\r\nconst categoryNames = {\r\ndevelopment: '\ud83d\udcbb Development', design: '\ud83c\udfa8 Design', marketing: '\ud83d\udce2 Marketing',\r\nwriting: '\u270d\ufe0f Writing', consulting: '\ud83d\udcca Consulting', ai: '\ud83e\udd16 AI\/ML',\r\nsecurity: '\ud83d\udd12 Security', defi: '\ud83d\udcb0 DeFi'\r\n};\r\nconst titles = {\r\ndevelopment: [\"Smart Contract\", \"Web App\", \"Mobile App\", \"API\", \"Database\", \"Blockchain\", \"WordPress\", \"E-commerce\", \"Cloud\", \"DevOps\", \"Security Audit\", \"DeFi\", \"NFT\", \"DAO\", \"Game\", \"Bot\", \"Extension\", \"Scraping\", \"CRM\"],\r\ndesign: [\"UI\/UX\", \"Logo\", \"Website\", \"NFT Art\", \"Social Media\", \"3D\", \"Motion\", \"Brand\", \"App Design\", \"Presentation\", \"Packaging\", \"Illustration\", \"Infographic\", \"Brochure\", \"Banner\", \"Email\", \"Icon\", \"Merchandise\"],\r\nmarketing: [\"Social Media\", \"SEO\", \"Content\", \"Email\", \"PPC\", \"Influencer\", \"Community\", \"Twitter\", \"LinkedIn\", \"YouTube\", \"TikTok\", \"Instagram\", \"Facebook\", \"Lead Gen\", \"PR\"],\r\nwriting: [\"White Paper\", \"Technical Docs\", \"Blog\", \"Copywriting\", \"Proofreading\", \"Ghostwriting\", \"Newsletter\", \"Case Study\", \"Captions\", \"SEO Content\", \"Press Release\", \"E-book\", \"Script\", \"Resume\", \"Grant\"],\r\nconsulting: [\"Blockchain\", \"Audit\", \"DeFi Strategy\", \"NFT Strategy\", \"Tokenomics\", \"Marketing\", \"Legal\", \"BD\", \"Fundraising\", \"Community\", \"Product\", \"Architecture\", \"Team\", \"Growth\"],\r\nai: [\"ChatGPT\", \"Chatbot\", \"ML Model\", \"Computer Vision\", \"NLP\", \"Analytics\", \"AI Content\", \"Image Recognition\", \"Voice Assistant\", \"Recommendation\", \"Trading Bot\"],\r\nsecurity: [\"Audit\", \"Pen Testing\", \"Assessment\", \"Scanning\", \"Bug Bounty\", \"Wallet Security\", \"MPC\", \"Multi-sig\"],\r\ndefi: [\"Lending\", \"Staking\", \"Yield Farming\", \"DEX\", \"Liquidity Mining\", \"Bridge\", \"Oracle\", \"Flash Loan\"]\r\n};\r\nconst freelancers = [\"0xDevPro\", \"0xWeb3Expert\", \"0xBlockchainDev\", \"0xSolidityPro\", \"0xUIDesigner\", \"0xGraphicMaster\", \"0xSEOGuru\", \"0xContentCreator\", \"0xTechWriter\", \"0xDeFiConsult\", \"0xAISpecialist\", \"0xSecurityAuditor\"];\r\nconst projects = [];\r\nfor (let i = 1; i <= 1000000; i++) {\r\nconst category = categories[Math.floor(Math.random() * categories.length)];\r\nconst titleList = titles[category];\r\nconst baseTitle = titleList[Math.floor(Math.random() * titleList.length)];\r\nprojects.push({\r\nid: i,\r\ntitle: `${baseTitle} Service #${i}`,\r\ncategory: category,\r\ncategoryName: categoryNames[category],\r\ndescription: `Professional ${baseTitle.toLowerCase()} service. High-quality guaranteed.`,\r\nprice: parseFloat((Math.random() * 20 + 0.5).toFixed(2)),\r\ndelivery: Math.floor(Math.random() * 30) + 1,\r\nfreelancer: freelancers[Math.floor(Math.random() * freelancers.length)],\r\npopular: Math.random() > 0.95,\r\nstatus: 'available',\r\nbuyerAddress: null,\r\npurchasedAt: null\r\n});\r\n}\r\nreturn projects;\r\n}\r\n\r\nconst PROJECTS_DATA = generateMillionProjects();\r\n\r\nasync function init() {\r\nconsole.log('\ud83d\ude80 Initializing - NO GAS FEES Platform');\r\nsetupEventListeners();\r\nawait checkMetaMaskConnection();\r\nrenderProjects();\r\nloadUserProjects();\r\nupdateDisplayAddresses();\r\n}\r\n\r\nfunction updateDisplayAddresses() {\r\ndocument.getElementById('modalFreelancerAddr').innerHTML = FREELANCER_PAYMENT_ADDRESS.substring(0, 10) + '...' + FREELANCER_PAYMENT_ADDRESS.substring(34);\r\ndocument.getElementById('modalPlatformAddr').innerHTML = PLATFORM_ADDRESS.substring(0, 10) + '...' + PLATFORM_ADDRESS.substring(34);\r\n}\r\n\r\nfunction setupEventListeners() {\r\ndocument.getElementById('connectBtn').onclick = connectMetaMask;\r\ndocument.getElementById('disconnectBtn').onclick = disconnectWallet;\r\ndocument.getElementById('categoryFilter').onchange = () => { currentPage = 1; renderProjects(); };\r\ndocument.getElementById('searchFilter').oninput = () => { currentPage = 1; renderProjects(); };\r\ndocument.getElementById('sortFilter').onchange = () => renderProjects();\r\ndocument.getElementById('listProjectForm').onsubmit = listProject;\r\ndocument.getElementById('confirmPurchaseBtn').onclick = confirmPurchase;\r\ndocument.getElementById('confirmCompleteBtn').onclick = confirmComplete;\r\n\r\ndocument.querySelectorAll('.tab-btn').forEach(btn => {\r\nbtn.onclick = () => {\r\nconst tab = btn.dataset.tab;\r\ndocument.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\r\ndocument.querySelectorAll('.tab-content').forEach(c => c.classList.remove('active'));\r\nbtn.classList.add('active');\r\ndocument.getElementById(`${tab}Tab`).classList.add('active');\r\nif (tab === 'my-projects') loadUserProjects();\r\n};\r\n});\r\n}\r\n\r\nasync function checkMetaMaskConnection() {\r\nif (typeof window.ethereum !== 'undefined') {\r\ntry {\r\nconst accounts = await window.ethereum.request({ method: 'eth_accounts' });\r\nif (accounts.length > 0) await connectWeb3(accounts[0]);\r\n} catch(e) { console.log(e); }\r\nwindow.ethereum.on('accountsChanged', (accounts) => {\r\nif (accounts.length === 0) disconnectWallet();\r\nelse if (accounts[0] !== userAddress) connectWeb3(accounts[0]);\r\n});\r\n} else {\r\ndocument.getElementById('walletStatus').innerHTML = 'MetaMask Not Installed';\r\n}\r\n}\r\n\r\nasync function connectMetaMask() {\r\nif (typeof window.ethereum === 'undefined') {\r\nalert('Please install MetaMask!');\r\nwindow.open('https:\/\/metamask.io\/download.html', '_blank');\r\nreturn;\r\n}\r\ntry {\r\ndocument.getElementById('connectBtn').disabled = true;\r\ndocument.getElementById('connectBtn').textContent = 'Connecting...';\r\nconst accounts = await window.ethereum.request({ method: 'eth_requestAccounts' });\r\nif (accounts.length > 0) await connectWeb3(accounts[0]);\r\nshowAlert('\u2705 Wallet connected!', 'success');\r\n} catch (error) {\r\nshowAlert('Failed to connect wallet', 'error');\r\n} finally {\r\ndocument.getElementById('connectBtn').disabled = false;\r\ndocument.getElementById('connectBtn').textContent = '\ud83e\udd8a Connect MetaMask';\r\n}\r\n}\r\n\r\nasync function connectWeb3(account) {\r\nuserAddress = account;\r\nweb3 = new Web3(window.ethereum);\r\ntry {\r\nconst balanceWei = await web3.eth.getBalance(userAddress);\r\nconst balanceEth = web3.utils.fromWei(balanceWei, 'ether');\r\nupdateWalletUI(balanceEth);\r\nloadUserProjects();\r\nshowAlert(`Connected to ${userAddress.substring(0,6)}...${userAddress.substring(38)}`, 'success');\r\n} catch(e) { updateWalletUI(0); }\r\n}\r\n\r\nfunction updateWalletUI(balanceEth) {\r\nconst walletStatus = document.getElementById('walletStatus');\r\nconst walletAddress = document.getElementById('walletAddress');\r\nconst walletBalance = document.getElementById('walletBalance');\r\nconst walletDot = document.getElementById('walletDot');\r\nconst connectBtn = document.getElementById('connectBtn');\r\nconst disconnectBtn = document.getElementById('disconnectBtn');\r\n\r\nif (userAddress) {\r\nwalletStatus.innerHTML = 'Connected';\r\nwalletAddress.innerHTML = `${userAddress.substring(0,6)}...${userAddress.substring(38)}`;\r\nwalletBalance.innerHTML = `${parseFloat(balanceEth).toFixed(4)} ETH`;\r\nwalletDot.style.background = '#22c55e';\r\nconnectBtn.style.display = 'none';\r\ndisconnectBtn.style.display = 'inline-block';\r\n} else {\r\nwalletStatus.innerHTML = 'Not Connected';\r\nwalletAddress.innerHTML = '';\r\nwalletBalance.innerHTML = '';\r\nwalletDot.style.background = '#ef4444';\r\nconnectBtn.style.display = 'inline-block';\r\ndisconnectBtn.style.display = 'none';\r\n}\r\n}\r\n\r\nfunction disconnectWallet() {\r\nuserAddress = null;\r\nweb3 = null;\r\nupdateWalletUI(0);\r\nshowAlert('Wallet disconnected', 'info');\r\ndocument.getElementById('myProjectsGrid').innerHTML = '<div style=\"text-align:center;padding:60px;\">\ud83d\udd0c Connect wallet to view your projects<\/div>';\r\n}\r\n\r\nfunction renderProjects() {\r\nconst category = document.getElementById('categoryFilter').value;\r\nconst search = document.getElementById('searchFilter').value.toLowerCase();\r\nconst sort = document.getElementById('sortFilter').value;\r\n\r\nlet filtered = [...PROJECTS_DATA];\r\nif (category !== 'all') filtered = filtered.filter(p => p.category === category);\r\nif (search) filtered = filtered.filter(p => p.title.toLowerCase().includes(search) || p.description.toLowerCase().includes(search));\r\nif (sort === 'price-asc') filtered.sort((a,b) => a.price - b.price);\r\nif (sort === 'price-desc') filtered.sort((a,b) => b.price - a.price);\r\nif (sort === 'popular') filtered.sort((a,b) => (b.popular ? 1 : 0) - (a.popular ? 1 : 0));\r\n\r\nconst totalPages = Math.ceil(filtered.length \/ itemsPerPage);\r\nconst start = (currentPage - 1) * itemsPerPage;\r\nconst paginated = filtered.slice(start, start + itemsPerPage);\r\n\r\nconst container = document.getElementById('projectsGrid');\r\ncontainer.innerHTML = paginated.map(project => `\r\n<div class=\"project-card\" onclick=\"openPurchaseModal(${project.id})\">\r\n<div class=\"project-category category-${project.category}\">${project.categoryName}<\/div>\r\n<div class=\"project-title\">${escapeHtml(project.title)}<\/div>\r\n<div class=\"project-description\">${escapeHtml(project.description)}<\/div>\r\n<div class=\"project-price\">${project.price} ETH<\/div>\r\n<div class=\"project-delivery\">\u23f1\ufe0f Delivery: ${project.delivery} days<\/div>\r\n<div class=\"project-footer\">\r\n<span class=\"freelancer-name\">\ud83d\udc68\u200d\ud83d\udcbb ${project.freelancer}<\/span>\r\n${project.popular ? '<span style=\"background:#f59e0b20;padding:4px 8px;border-radius:12px;\">\ud83d\udd25 Popular<\/span>' : ''}\r\n<button class=\"btn btn-primary\" onclick=\"event.stopPropagation(); openPurchaseModal(${project.id})\">Buy Now<\/button>\r\n<\/div>\r\n<\/div>\r\n`).join('');\r\n\r\nconst paginationContainer = document.getElementById('pagination');\r\nif (totalPages > 1) {\r\nlet html = '';\r\nconst startPage = Math.max(1, currentPage - 2);\r\nconst endPage = Math.min(totalPages, startPage + 4);\r\nfor (let i = startPage; i <= endPage; i++) {\r\nhtml += `<button class=\"page-btn ${i === currentPage ? 'active' : ''}\" onclick=\"goToPage(${i})\">${i}<\/button>`;\r\n}\r\npaginationContainer.innerHTML = html;\r\n}\r\ndocument.getElementById('totalProjects').innerHTML = filtered.length.toLocaleString();\r\n}\r\n\r\nfunction goToPage(page) { currentPage = page; renderProjects(); window.scrollTo({ top: 0, behavior: 'smooth' }); }\r\n\r\n\/\/ NO GAS FEES - Direct ETH Transfer\r\nwindow.openPurchaseModal = function(projectId) {\r\nselectedProject = PROJECTS_DATA.find(p => p.id === projectId);\r\nif (!selectedProject) return;\r\nconst fee = selectedProject.price * PLATFORM_FEE_PERCENT \/ 100;\r\nconst freelancerAmount = selectedProject.price - fee;\r\ndocument.getElementById('purchaseDetails').innerHTML = `<h4>${escapeHtml(selectedProject.title)}<\/h4><p>${escapeHtml(selectedProject.description)}<\/p><p>Freelancer: ${selectedProject.freelancer}<\/p><p>Delivery: ${selectedProject.delivery} days<\/p>`;\r\ndocument.getElementById('purchaseAmount').value = selectedProject.price;\r\ndocument.getElementById('freelancerAmount').value = `${freelancerAmount} ETH (95% \u2192 ${FREELANCER_PAYMENT_ADDRESS.substring(0,10)}...)`;\r\ndocument.getElementById('platformFeeAmount').value = `${fee} ETH (5% \u2192 ${PLATFORM_ADDRESS.substring(0,10)}...)`;\r\ndocument.getElementById('purchaseModal').style.display = 'flex';\r\n};\r\n\r\nfunction closePurchaseModal() { document.getElementById('purchaseModal').style.display = 'none'; selectedProject = null; }\r\nfunction closeCompleteModal() { document.getElementById('completeModal').style.display = 'none'; selectedProjectForComplete = null; }\r\n\r\nasync function confirmPurchase() {\r\nif (!userAddress) { showAlert('Connect wallet first', 'error'); return; }\r\nif (!selectedProject) return;\r\n\r\nconst fee = selectedProject.price * PLATFORM_FEE_PERCENT \/ 100;\r\nconst freelancerAmount = selectedProject.price - fee;\r\nconst totalAmount = selectedProject.price;\r\n\r\nconst balanceWei = await web3.eth.getBalance(userAddress);\r\nconst balanceEth = web3.utils.fromWei(balanceWei, 'ether');\r\nif (parseFloat(balanceEth) < totalAmount) {\r\nshowAlert(`Insufficient balance. Need ${totalAmount} ETH`, 'error');\r\nreturn;\r\n}\r\n\r\nshowLoading();\r\ntry {\r\n\/\/ Send 95% to freelancer\r\nconst freelancerAmountWei = web3.utils.toWei(freelancerAmount.toString(), 'ether');\r\nconst tx1 = await web3.eth.sendTransaction({\r\nfrom: userAddress,\r\nto: FREELANCER_PAYMENT_ADDRESS,\r\nvalue: freelancerAmountWei\r\n});\r\n\r\n\/\/ Send 5% to platform\r\nconst feeAmountWei = web3.utils.toWei(fee.toString(), 'ether');\r\nconst tx2 = await web3.eth.sendTransaction({\r\nfrom: userAddress,\r\nto: PLATFORM_ADDRESS,\r\nvalue: feeAmountWei\r\n});\r\n\r\n\/\/ Update project status\r\nselectedProject.status = 'purchased';\r\nselectedProject.buyerAddress = userAddress;\r\nselectedProject.purchasedAt = new Date().toISOString();\r\n\r\nuserProjects.push({\r\n...selectedProject,\r\npurchasedAt: new Date().toISOString(),\r\nstatus: 'active',\r\nclientAddress: userAddress,\r\nfreelancerAddress: FREELANCER_PAYMENT_ADDRESS\r\n});\r\nlocalStorage.setItem('userProjects', JSON.stringify(userProjects));\r\n\r\nshowAlert(`\u2705 Payment sent! ${freelancerAmount} ETH to freelancer, ${fee} ETH platform fee.`, 'success');\r\nclosePurchaseModal();\r\nloadUserProjects();\r\nupdateStats();\r\nhideLoading();\r\n} catch (error) {\r\nshowAlert('Transaction failed: ' + error.message, 'error');\r\nhideLoading();\r\n}\r\n}\r\n\r\nfunction loadUserProjects() {\r\nconst saved = localStorage.getItem('userProjects');\r\nif (saved) userProjects = JSON.parse(saved);\r\nconst container = document.getElementById('myProjectsGrid');\r\nif (!userAddress) { container.innerHTML = '<div style=\"text-align:center;padding:60px;\">\ud83d\udd0c Connect wallet to view your projects<\/div>'; return; }\r\nconst myProjects = userProjects.filter(p => p.clientAddress === userAddress);\r\nif (myProjects.length === 0) { container.innerHTML = '<div style=\"text-align:center;padding:60px;\">\ud83d\udced No projects purchased yet<\/div>'; return; }\r\n\r\ncontainer.innerHTML = myProjects.map(project => `\r\n<div class=\"project-card\">\r\n<div class=\"project-category category-${project.category}\">${project.categoryName}<\/div>\r\n<div class=\"project-title\">${escapeHtml(project.title)}<\/div>\r\n<div class=\"project-price\">${project.price} ETH<\/div>\r\n<div class=\"project-delivery\">\u23f1\ufe0f Delivery: ${project.delivery} days<\/div>\r\n<div class=\"project-footer\">\r\n<span class=\"freelancer-name\">\ud83d\udc68\u200d\ud83d\udcbb ${project.freelancer}<\/span>\r\n<span class=\"badge badge-active\">Active<\/span>\r\n<button class=\"btn btn-success\" onclick=\"openCompleteModal(${project.id})\">\u2705 Mark Complete<\/button>\r\n<\/div>\r\n<\/div>\r\n`).join('');\r\nupdateStats();\r\n}\r\n\r\nwindow.openCompleteModal = function(projectId) {\r\nselectedProjectForComplete = userProjects.find(p => p.id === projectId);\r\nif (!selectedProjectForComplete) return;\r\ndocument.getElementById('completeDetails').innerHTML = `<h4>${escapeHtml(selectedProjectForComplete.title)}<\/h4><p>Price: ${selectedProjectForComplete.price} ETH<\/p><p>Freelancer already received payment via smart contract.<\/p>`;\r\ndocument.getElementById('completeModal').style.display = 'flex';\r\n};\r\n\r\nfunction confirmComplete() {\r\nif (!selectedProjectForComplete) return;\r\nselectedProjectForComplete.status = 'completed';\r\nselectedProjectForComplete.completedAt = new Date().toISOString();\r\nlocalStorage.setItem('userProjects', JSON.stringify(userProjects));\r\nshowAlert(`\u2705 Project \"${selectedProjectForComplete.title}\" marked as complete!`, 'success');\r\ncloseCompleteModal();\r\nloadUserProjects();\r\n}\r\n\r\nasync function listProject(e) {\r\ne.preventDefault();\r\nif (!userAddress) { showAlert('Connect wallet first', 'error'); return; }\r\nconst title = document.getElementById('projectTitle').value;\r\nconst category = document.getElementById('projectCategory').value;\r\nconst description = document.getElementById('projectDescription').value;\r\nconst price = parseFloat(document.getElementById('projectPrice').value);\r\nif (!title || !description || !price) { showAlert('Fill all fields', 'error'); return; }\r\nshowLoading();\r\nsetTimeout(() => {\r\nshowAlert(`\u2705 Project \"${title}\" listed!`, 'success');\r\ndocument.getElementById('listProjectForm').reset();\r\nhideLoading();\r\n}, 1000);\r\n}\r\n\r\nfunction updateStats() {\r\nconst totalValue = userProjects.reduce((sum, p) => sum + p.price, 0);\r\ndocument.getElementById('totalVolume').innerHTML = totalValue.toFixed(2) + ' ETH';\r\ndocument.getElementById('activeProjects').innerHTML = userProjects.length;\r\ndocument.getElementById('totalEscrowed').innerHTML = totalValue.toFixed(2) + ' ETH';\r\n}\r\n\r\nfunction showAlert(message, type) {\r\nconst container = document.getElementById('alertContainer');\r\nconst alert = document.createElement('div');\r\nalert.className = `alert alert-${type}`;\r\nalert.innerHTML = message;\r\ncontainer.appendChild(alert);\r\nsetTimeout(() => alert.remove(), 5000);\r\n}\r\n\r\nfunction showLoading() {\r\nlet loader = document.getElementById('loadingOverlay');\r\nif (!loader) {\r\nloader = document.createElement('div');\r\nloader.id = 'loadingOverlay';\r\nloader.className = 'loading-overlay';\r\nloader.innerHTML = '<div class=\"spinner\"><\/div>';\r\ndocument.body.appendChild(loader);\r\n}\r\n}\r\n\r\nfunction hideLoading() { const loader = document.getElementById('loadingOverlay'); if (loader) loader.remove(); }\r\nfunction escapeHtml(text) { const div = document.createElement('div'); div.textContent = text; return div.innerHTML; }\r\n\r\nwindow.openPurchaseModal = openPurchaseModal;\r\nwindow.closePurchaseModal = closePurchaseModal;\r\nwindow.closeCompleteModal = closeCompleteModal;\r\nwindow.goToPage = goToPage;\r\n\r\ninit();\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Freelance Marketplace | No Gas Fees | 5% Platform Fee \ud83d\udd12 Freelance Marketplace 1,000,000+ Projects &#8211; Software, Code or Script | 5% Platform Fee | NO GAS FEES Not Connected \ud83e\udd8a Connect MetaMask Disconnect \ud83d\udca1 NO GAS FEES! This platform uses direct ETH transfers. \u2705 Client pays freelancer directly + 5% platform fee to 0xF0d8d1&#8230;58170 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-21418","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/pages\/21418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/comments?post=21418"}],"version-history":[{"count":5,"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/pages\/21418\/revisions"}],"predecessor-version":[{"id":21423,"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/pages\/21418\/revisions\/21423"}],"wp:attachment":[{"href":"https:\/\/marketplace-marketplace.com\/index.php\/wp-json\/wp\/v2\/media?parent=21418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}