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
#!/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() |