HashPort Complete Tutorial for On Chain Frontend Deployment and Domain Binding
After deploying the frontend webpage on the BNB Chain mainnet, the frontend webpage will exist in a distributed manner in every full node on the network. Site management permissions are controlled by the Circuit Container NFT, enabling decentralized hosting.
I. Pre Deployment Notes and Core Mechanisms
Permanence of On Chain Data
Files can be updated or have their references deleted in the directory, but the uploaded byte data will remain permanently on chain.
Security Red Line: Never upload any private keys, API keys, environment configuration files, or sensitive private data.
NFT Container Ownership and Permissions
The site is registered under the Circuit Container. The wallet holding that container NFT has full management control.
Transferring the NFT will also transfer site control.
Fee Structure
Circuit Container activation fee: 0.012 BNB. This is only required when you do not already hold a container. Go to to activate one.
File upload fee: Only BNB Chain network Gas fees are charged, approximately 0.01 ~ 0.03 BNB / MB. This is not a platform service fee.
Monthly service fee: 0.08 BNB / month, paid directly to the protocol wallet.
Operator Temporary Wallet Security Mechanism
To avoid frequent signature popups when uploading dozens of files, the console will generate a temporary Operator wallet to perform batch signing on your behalf. The main wallet only needs to sign for confirmation twice throughout the entire process.
Security guarantee: The Operator private key is stored only in the Session Storage of the current browser tab, and this wallet only has file write permissions. It cannot touch your Circuit NFT or BNB assets.
Key operation: After the upload is complete, you must immediately click “Refund balance” to withdraw the remaining BNB balance and automatically destroy the private key.
II. Deployment and Domain Binding Workflow
Step 1: Connect Wallet and Select Circuit Container
Open the HashPort console and connect your Web3 wallet.
Select a circuit you already own and have activated as a container from the dropdown menu.
If you do not yet own a container, first go to and pay 0.012 BNB to activate one.
Step 2: Drag and Drop Frontend Build Artifacts for Upload
Local build preparation:
Complete the build locally and generate the packaged folder, such as dist.
Single file limit: The maximum size of a single file is 8.4 MB. For large images or videos, it is recommended to use external CDN links.
SPA single page application compatibility: The system has built in SPA routing support. Unknown access paths will automatically fall back to index.html.
Execute upload:
Drag the complete packaged folder into the upload area of the console.
It is recommended to upload using Operator mode and confirm two signatures.
Refund Operator balance:
After the upload is complete, immediately click “Refund balance” to refund the unused BNB balance and destroy the temporary private key.
Step 3: Bind Custom Domain and Configure DNS Resolution
Initiate binding in the console:
Enter the custom domain and select the number of paid months, 0.08 BNB / month, then complete payment.
Anti squatting mechanism: On chain payment only grants the domain eligibility for Gateway resolution. Which container it actually points to is entirely determined by the TXT record in your domain configuration. Third parties cannot maliciously pay to squat and redirect your domain.
Configure DNS records at the domain registrar, such as Cloudflare / Alibaba Cloud:
Add the following two DNS records:
Record 1
Record type: CNAME
Host / Name: The full CNAME host name displayed in the console
Value: The Gateway address specified by the console
Notes and precautions: If the provider does not support CNAME for the root domain, use the www subdomain or an ALIAS / ANAME record.
Record 2
Record type: TXT
Host / Name: The TXT host name displayed in the console
Value: The selected Circuit Container address, also known as the Container Address
Notes and precautions: Only enter the prefix before the root domain. For example, if the full record name is only enter in the panel. One TXT record can contain up to 5 container addresses to support smooth migration.
Key Cloudflare setting:
If using Cloudflare for DNS resolution, both the CNAME and TXT records must be set to “DNS only”, meaning gray cloud status with Proxy disabled.
Activation and automatic SSL issuance:
DNS propagation depends on TTL and usually takes anywhere from a few minutes to several hours.
After DNS resolution takes effect, the Gateway will automatically issue an SSL certificate, and the website can then be accessed via HTTPS.
Show more