You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
215 lines
7.9 KiB
215 lines
7.9 KiB
|
3 months ago
|
#!/usr/bin/env python3
|
||
|
|
"""
|
||
|
|
PoWHD Deployment Cost Calculator
|
||
|
|
Current prices: ETH = $4,553, BNB = $1,163
|
||
|
|
"""
|
||
|
|
|
||
|
|
class DeploymentCalculator:
|
||
|
|
def __init__(self):
|
||
|
|
self.eth_price = 4553 # USD
|
||
|
|
self.bnb_price = 1163 # USD
|
||
|
|
|
||
|
|
# Gas estimates for contract deployment
|
||
|
|
self.contract_gas = 3000000 # gas units
|
||
|
|
|
||
|
|
# Current gas prices (gwei)
|
||
|
|
self.eth_gas_prices = {
|
||
|
|
'low': 10, # 10 gwei (slow)
|
||
|
|
'medium': 20, # 20 gwei (standard)
|
||
|
|
'high': 50 # 50 gwei (fast)
|
||
|
|
}
|
||
|
|
|
||
|
|
self.bsc_gas_prices = {
|
||
|
|
'low': 3, # 3 gwei (slow)
|
||
|
|
'medium': 5, # 5 gwei (standard)
|
||
|
|
'high': 10 # 10 gwei (fast)
|
||
|
|
}
|
||
|
|
|
||
|
|
# Additional costs
|
||
|
|
self.additional_costs = {
|
||
|
|
'domain': 15, # USD per year
|
||
|
|
'hosting': 10, # USD per month
|
||
|
|
'ssl': 0, # Free (Let's Encrypt)
|
||
|
|
'marketing_initial': 500, # USD initial budget
|
||
|
|
}
|
||
|
|
|
||
|
|
def calculate_gas_cost(self, gas_price_gwei, gas_units, token_price_usd):
|
||
|
|
"""Calculate gas cost in USD"""
|
||
|
|
gas_price_eth = gas_price_gwei * 1e-9 # Convert gwei to ETH
|
||
|
|
gas_cost_eth = gas_price_eth * gas_units
|
||
|
|
gas_cost_usd = gas_cost_eth * token_price_usd
|
||
|
|
return gas_cost_eth, gas_cost_usd
|
||
|
|
|
||
|
|
def ethereum_costs(self):
|
||
|
|
"""Calculate Ethereum deployment costs"""
|
||
|
|
print("=" * 50)
|
||
|
|
print("ETHEREUM DEPLOYMENT COSTS")
|
||
|
|
print("=" * 50)
|
||
|
|
print(f"ETH Price: ${self.eth_price:,}")
|
||
|
|
print()
|
||
|
|
|
||
|
|
for speed, gwei in self.eth_gas_prices.items():
|
||
|
|
gas_eth, gas_usd = self.calculate_gas_cost(
|
||
|
|
gwei, self.contract_gas, self.eth_price
|
||
|
|
)
|
||
|
|
print(f"{speed.capitalize()} ({gwei} gwei):")
|
||
|
|
print(f" Gas Cost: {gas_eth:.4f} ETH = ${gas_usd:,.0f}")
|
||
|
|
|
||
|
|
print(f"\nAdditional Costs:")
|
||
|
|
print(f" Domain: ${self.additional_costs['domain']}/year")
|
||
|
|
print(f" Hosting: ${self.additional_costs['hosting']}/month")
|
||
|
|
print(f" Marketing: ${self.additional_costs['marketing_initial']} initial")
|
||
|
|
|
||
|
|
total_low = self.calculate_gas_cost(
|
||
|
|
self.eth_gas_prices['low'], self.contract_gas, self.eth_price
|
||
|
|
)[1] + 25 # Domain + hosting
|
||
|
|
|
||
|
|
total_high = self.calculate_gas_cost(
|
||
|
|
self.eth_gas_prices['high'], self.contract_gas, self.eth_price
|
||
|
|
)[1] + 25
|
||
|
|
|
||
|
|
print(f"\nTotal Setup Cost: ${total_low:,.0f} - ${total_high:,.0f}")
|
||
|
|
return total_low, total_high
|
||
|
|
|
||
|
|
def bsc_costs(self):
|
||
|
|
"""Calculate BSC deployment costs"""
|
||
|
|
print("=" * 50)
|
||
|
|
print("BSC DEPLOYMENT COSTS")
|
||
|
|
print("=" * 50)
|
||
|
|
print(f"BNB Price: ${self.bnb_price:,}")
|
||
|
|
print()
|
||
|
|
|
||
|
|
for speed, gwei in self.bsc_gas_prices.items():
|
||
|
|
gas_bnb, gas_usd = self.calculate_gas_cost(
|
||
|
|
gwei, self.contract_gas, self.bnb_price
|
||
|
|
)
|
||
|
|
print(f"{speed.capitalize()} ({gwei} gwei):")
|
||
|
|
print(f" Gas Cost: {gas_bnb:.4f} BNB = ${gas_usd:,.0f}")
|
||
|
|
|
||
|
|
print(f"\nAdditional Costs:")
|
||
|
|
print(f" Domain: ${self.additional_costs['domain']}/year")
|
||
|
|
print(f" Hosting: ${self.additional_costs['hosting']}/month")
|
||
|
|
print(f" Marketing: ${self.additional_costs['marketing_initial']} initial")
|
||
|
|
|
||
|
|
total_low = self.calculate_gas_cost(
|
||
|
|
self.bsc_gas_prices['low'], self.contract_gas, self.bnb_price
|
||
|
|
)[1] + 25
|
||
|
|
|
||
|
|
total_high = self.calculate_gas_cost(
|
||
|
|
self.bsc_gas_prices['high'], self.contract_gas, self.bnb_price
|
||
|
|
)[1] + 25
|
||
|
|
|
||
|
|
print(f"\nTotal Setup Cost: ${total_low:,.0f} - ${total_high:,.0f}")
|
||
|
|
return total_low, total_high
|
||
|
|
|
||
|
|
def break_even_analysis(self):
|
||
|
|
"""Calculate break-even volumes"""
|
||
|
|
print("=" * 50)
|
||
|
|
print("BREAK-EVEN ANALYSIS")
|
||
|
|
print("=" * 50)
|
||
|
|
|
||
|
|
eth_low, eth_high = self.ethereum_costs()
|
||
|
|
bsc_low, bsc_high = self.bsc_costs()
|
||
|
|
|
||
|
|
# Assume 2% dev fee
|
||
|
|
dev_fee_rate = 0.02
|
||
|
|
|
||
|
|
print(f"\nBreak-even Volume Needed (2% dev fee):")
|
||
|
|
print(f"\nEthereum:")
|
||
|
|
eth_breakeven_low = eth_low / dev_fee_rate
|
||
|
|
eth_breakeven_high = eth_high / dev_fee_rate
|
||
|
|
print(f" Low gas: ${eth_breakeven_low:,.0f} volume ({eth_breakeven_low/self.eth_price:.1f} ETH)")
|
||
|
|
print(f" High gas: ${eth_breakeven_high:,.0f} volume ({eth_breakeven_high/self.eth_price:.1f} ETH)")
|
||
|
|
|
||
|
|
print(f"\nBSC:")
|
||
|
|
bsc_breakeven_low = bsc_low / dev_fee_rate
|
||
|
|
bsc_breakeven_high = bsc_high / dev_fee_rate
|
||
|
|
print(f" Low gas: ${bsc_breakeven_low:,.0f} volume ({bsc_breakeven_low/self.bnb_price:.1f} BNB)")
|
||
|
|
print(f" High gas: ${bsc_breakeven_high:,.0f} volume ({bsc_breakeven_high/self.bnb_price:.1f} BNB)")
|
||
|
|
|
||
|
|
# ROI comparison
|
||
|
|
print(f"\nROI Comparison (at 10x break-even volume):")
|
||
|
|
|
||
|
|
eth_revenue = eth_breakeven_low * 10 * dev_fee_rate
|
||
|
|
eth_profit = eth_revenue - eth_low
|
||
|
|
eth_roi = (eth_profit / eth_low) * 100
|
||
|
|
|
||
|
|
bsc_revenue = bsc_breakeven_low * 10 * dev_fee_rate
|
||
|
|
bsc_profit = bsc_revenue - bsc_low
|
||
|
|
bsc_roi = (bsc_profit / bsc_low) * 100
|
||
|
|
|
||
|
|
print(f"\nEthereum (10x break-even):")
|
||
|
|
print(f" Revenue: ${eth_revenue:,.0f}")
|
||
|
|
print(f" Profit: ${eth_profit:,.0f}")
|
||
|
|
print(f" ROI: {eth_roi:,.0f}%")
|
||
|
|
|
||
|
|
print(f"\nBSC (10x break-even):")
|
||
|
|
print(f" Revenue: ${bsc_revenue:,.0f}")
|
||
|
|
print(f" Profit: ${bsc_profit:,.0f}")
|
||
|
|
print(f" ROI: {bsc_roi:,.0f}%")
|
||
|
|
|
||
|
|
def revenue_scenarios(self):
|
||
|
|
"""Show revenue scenarios at different volumes"""
|
||
|
|
print("=" * 50)
|
||
|
|
print("REVENUE SCENARIOS")
|
||
|
|
print("=" * 50)
|
||
|
|
|
||
|
|
volumes_usd = [10000, 50000, 100000, 500000, 1000000] # USD volumes
|
||
|
|
dev_fee_rate = 0.02
|
||
|
|
dividend_rate = 0.01 # 1% from pre-mine dividends
|
||
|
|
referral_rate = 0.005 # 0.5% from referral capture
|
||
|
|
|
||
|
|
total_dev_rate = dev_fee_rate + dividend_rate + referral_rate
|
||
|
|
|
||
|
|
print(f"Assuming {total_dev_rate*100}% total developer revenue rate:")
|
||
|
|
print(f" - {dev_fee_rate*100}% direct dev fee")
|
||
|
|
print(f" - {dividend_rate*100}% pre-mine dividends")
|
||
|
|
print(f" - {referral_rate*100}% referral capture")
|
||
|
|
print()
|
||
|
|
|
||
|
|
print(f"{'Volume (USD)':<15} {'ETH Vol':<10} {'BNB Vol':<10} {'Dev Revenue':<12} {'Profit (ETH)':<12} {'Profit (BSC)':<12}")
|
||
|
|
print("-" * 75)
|
||
|
|
|
||
|
|
for volume in volumes_usd:
|
||
|
|
eth_volume = volume / self.eth_price
|
||
|
|
bnb_volume = volume / self.bnb_price
|
||
|
|
dev_revenue = volume * total_dev_rate
|
||
|
|
|
||
|
|
# Assume medium gas costs for profit calc
|
||
|
|
eth_profit = dev_revenue - 350 # ETH medium setup cost
|
||
|
|
bsc_profit = dev_revenue - 30 # BSC medium setup cost
|
||
|
|
|
||
|
|
print(f"${volume:<14,} {eth_volume:<10.1f} {bnb_volume:<10.1f} ${dev_revenue:<11,.0f} ${eth_profit:<11,.0f} ${bsc_profit:<11,.0f}")
|
||
|
|
|
||
|
|
def main():
|
||
|
|
calc = DeploymentCalculator()
|
||
|
|
|
||
|
|
print("PoWHD CONTRACT DEPLOYMENT ANALYSIS")
|
||
|
|
print(f"Updated: {calc.eth_price} ETH, ${calc.bnb_price} BNB")
|
||
|
|
print()
|
||
|
|
|
||
|
|
# Calculate costs for both chains
|
||
|
|
calc.ethereum_costs()
|
||
|
|
print()
|
||
|
|
calc.bsc_costs()
|
||
|
|
print()
|
||
|
|
|
||
|
|
# Break-even analysis
|
||
|
|
calc.break_even_analysis()
|
||
|
|
print()
|
||
|
|
|
||
|
|
# Revenue scenarios
|
||
|
|
calc.revenue_scenarios()
|
||
|
|
|
||
|
|
print("\n" + "=" * 50)
|
||
|
|
print("KEY INSIGHTS")
|
||
|
|
print("=" * 50)
|
||
|
|
print("1. BSC is ~40x cheaper to deploy than Ethereum")
|
||
|
|
print("2. BSC break-even requires ~10x less volume")
|
||
|
|
print("3. Similar profit potential at equivalent USD volumes")
|
||
|
|
print("4. BSC enables targeting smaller investors")
|
||
|
|
print("5. Multi-chain strategy maximizes addressable market")
|
||
|
|
print("=" * 50)
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|