Section 01
What GoDaddy Can and Can't Do
GoDaddy shared hosting serves HTML, CSS, JavaScript, and PHP files. That covers your entire website and portal. What it cannot do is run Node.js — which means Hardhat contract deployment must happen on your own computer, once, before launch.
| Task | Where it runs | Notes |
| Website pages (HTML) | GoDaddy ✓ | Upload and serve — works perfectly |
| Scout Portal dApp (HTML/JS) | GoDaddy ✓ | All Web3 calls happen in the browser via CDN |
| Whitelist form (PHP) | GoDaddy ✓ | PHP handler saves CSV, sends email |
| Contact form (PHP) | GoDaddy ✓ | PHP mail() function works on shared hosting |
| Smart contract deployment | Your computer ✓ | Run npm run deploy:polygon once, then done |
| DAO voting (Snapshot) | snapshot.org ✓ | External service, free, gasless |
| Treasury (Gnosis Safe) | safe.global ✓ | External service, free |
| Wallet login (Privy) | Browser via CDN ✓ | JS loaded from Privy's CDN |
Good news: Because Web3 interactions happen entirely in the visitor's browser (wallet connections, contract reads, gasless transactions), GoDaddy shared hosting is 100% sufficient to run the full project. You don't need a VPS.
Section 02
Free Accounts to Create First
Sign up for these before touching the code. All have free tiers. Collect every API key into a notepad — you'll paste them into js/config.js.
Alchemy
alchemy.com
Polygon RPC endpoint. Create a free account → New App → Polygon Mainnet. Copy the HTTPS endpoint URL.
Free · 300M requests/mo
Pimlico
pimlico.io
ERC-4337 bundler for gasless transactions. Sign up → API Keys → Copy the Polygon bundler URL.
Free · 1M ops/mo
Privy
privy.io
Social login (email/Google → wallet). Create app → Settings → Copy App ID. Enables wallet creation without MetaMask.
Free · 1K wallets
Polygonscan
polygonscan.com
Contract verification. Sign up → API Keys → Create Key. Used only during the one-time deployment step.
Free
Gnosis Safe
safe.global
DAO treasury multi-sig. Connect on Polygon → Create Safe → Add 5 signer wallets → Set 3-of-5 threshold. Copy the Safe address.
Free · Always
Snapshot
snapshot.org
DAO voting. Connect wallet → Create space → Name: southerntribes → Set erc20-balance-of strategy on $TRIBE address.
Free · Always
Section 03
Deploy Contracts From Your Computer
This is the only step that requires your computer. You do it once. After this, GoDaddy handles everything.
Before you start: You need Node.js v18+ installed. Download from nodejs.org. Also get 8–10 MATIC in your deployer wallet (covers gas for 5 contracts + paymaster funding). For testnet, get free Amoy MATIC at faucet.polygon.technology.
01
Open the contracts folder
Unzip the project. In your terminal: cd southern-tribes-complete/contracts
02
Install dependencies
npm install — downloads Hardhat and OpenZeppelin. Takes 1–2 minutes.
03
Create your .env file
cp .env.example .env then open .env and fill in: DEPLOYER_PRIVATE_KEY, AMOY_RPC_URL, POLYGON_RPC_URL, TREASURY_ADDRESS (your Gnosis Safe), ADMIN_ADDRESS, POLYGONSCAN_API_KEY.
04
Test on Amoy testnet first
npm run deploy:amoy — deploys to the free Polygon testnet. Verify everything works. Check the contracts on amoy.polygonscan.com.
05
Deploy to Polygon mainnet
npm run deploy:polygon — the terminal prints 5 contract addresses. Copy all of them.
06
Verify contracts on Polygonscan
The MASTER_GUIDE.html has the exact verify commands. Run them so the community can see your source code.
Section 04
Fill in js/config.js
Open js/config.js from the project. This file holds all your public API keys and contract addresses for the browser. Replace every YOUR_..._HERE placeholder.
js/config.js — what to fill in
// 1. Alchemy RPC URL (from alchemy.com)
rpcUrl: "https://polygon-mainnet.g.alchemy.com/v2/abc123..."
// 2. Contract addresses (from npm run deploy:polygon output)
tribeToken: "0xABC...123"
scoutPassport: "0xDEF...456"
scoutBadge: "0xGHI...789"
scoutPaymaster: "0xJKL...012"
founderPass: "0xMNO...345"
// 3. Pimlico bundler URL (from pimlico.io)
bundlerUrl: "https://api.pimlico.io/v2/137/rpc?apikey=xyz..."
// 4. Privy App ID (from privy.io)
appId: "clxxxxxxxxxxxxxxxxxxxxxxxx"
// 5. Mint date (your actual launch date)
mintDate: "2026-07-01T00:00:00Z"
// 6. Social links (your real Discord/Telegram invite links)
discord: "https://discord.gg/your-invite"
telegram: "https://t.me/your-channel"
Never put these in config.js: Your deployer private key, your Polygonscan API key, or any password. Those stay in your local .env file which never gets uploaded.
Section 05
Configure PHP Files
Two PHP files handle form submissions. Open each one and update the email address at the top before uploading.
01
Edit api/whitelist.php
Open the file. Change line 16: define('NOTIFY_EMAIL', 'your@email.com'); — use your real email. Change line 17: define('FROM_EMAIL', 'noreply@yourdomain.com'); — use your actual domain.
02
Edit api/contact.php
Same thing — update TO_EMAIL and FROM_EMAIL at the top of the file.
03
Create the data folder in cPanel
In GoDaddy cPanel → File Manager → public_html → New Folder → name it data. Right-click → Permissions → set to 755. The whitelist PHP writes CSV files here.
Section 06
Upload to GoDaddy
Two ways to upload: GoDaddy's built-in File Manager (easiest, no software needed) or FTP with FileZilla (faster for many files).
Option A — File Manager (easiest)
01
Open cPanel
GoDaddy account → My Products → Web Hosting → Manage → cPanel → File Manager
02
Navigate to public_html
Click public_html in the left sidebar. This is your website root.
03
Upload the zip
Click Upload → drag the southern-tribes-complete.zip into the window → wait for upload → close the upload dialog → right-click the zip → Extract → extract to public_html/
04
Move files up if needed
If extraction creates a subfolder (public_html/southern-tribes-complete/), select all files inside it, cut, navigate up to public_html/, paste. Your index.html must be directly inside public_html/.
Option B — FTP with FileZilla (faster)
01
Get FTP credentials from cPanel
cPanel → FTP Accounts → find your main FTP account or create one. Note the host (usually ftp.yourdomain.com), username, and password.
02
Connect with FileZilla
Download FileZilla (free). File → Site Manager → New Site → Protocol: FTP, Host: ftp.yourdomain.com, User: your FTP username, Password: your FTP password → Connect.
03
Drag files to public_html/
In the right panel (server), navigate to public_html/. In the left panel (your computer), navigate to the unzipped project folder. Select all files and drag to the right panel. FileZilla uploads everything.
File structure after upload: public_html/ should contain: index.html, .htaccess, site/ folder, portal/ folder, js/ folder, api/ folder, docs/ folder, data/ folder (empty, writable). Nothing else in the root.
Section 07
Enable SSL / HTTPS
HTTPS is required for Web3 wallet connections. Browsers block wallet access on non-secure origins. GoDaddy provides a free SSL certificate.
01
Go to cPanel → Security → SSL/TLS
GoDaddy cPanel → Security section → SSL/TLS Status
02
Enable AutoSSL (Let's Encrypt)
Click "Run AutoSSL" or enable it for your domain. GoDaddy installs a free certificate. Takes 5–15 minutes.
03
Test HTTPS
Visit https://yourdomain.com — you should see a padlock. The .htaccess file automatically redirects all HTTP traffic to HTTPS.
Section 08
Set Up Email
GoDaddy shared hosting includes email. Create a professional email address for the program — it's used in the PHP form handlers and for team communication.
01
Create email accounts in cPanel
cPanel → Email → Email Accounts → Create. Suggested: hello@yourdomain.com (general), whitelist@yourdomain.com (mint notifications), dao@yourdomain.com (governance).
02
Update the PHP files
Set NOTIFY_EMAIL in whitelist.php and contact.php to your new email addresses. Set FROM_EMAIL to noreply@yourdomain.com.
Section 09
Go-Live Checklist
- GoDaddy hosting active and domain pointing to it (allow 24hrs for DNS)
- SSL certificate installed and HTTPS working (padlock visible)
- All project files uploaded to public_html/
- .htaccess in the root — test that yourdomain.com/roadmap loads roadmap.html
- data/ folder created with 755 permissions
- api/whitelist.php tested — submit the form on mint.html and check your email
- api/contact.php tested — submit the contact form
- js/config.js filled with real API keys and contract addresses
- Alchemy RPC URL set and working
- Pimlico bundler URL set and working
- Privy App ID set — wallet connect tested on portal page
- Contracts deployed on Polygon Amoy testnet (test) ✓
- Contracts deployed on Polygon mainnet ✓
- All 5 contracts verified on Polygonscan ✓
- Gnosis Safe multi-sig created on Polygon with 3-of-5 signers
- Snapshot governance space created at snapshot.org
- Discord server created and invite link in config.js
- Telegram channel created and link in config.js
- Mint date set correctly in config.js
- Founder Pass sale state is OFF until launch day
- Test the full user journey: visit site → connect wallet → view portal → earn demo badge