GoDaddy Shared Hosting · Deployment Guide

Setting Up on GoDaddy

Everything you need to get the Scouts of the Southern Tribes project fully live on GoDaddy shared hosting — from cPanel setup through contract deployment and Web3 integration.

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.

TaskWhere it runsNotes
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 deploymentYour 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