import requests

def get_bitcoin_balance(address, api_key=None):
    try:
        url = f'https://api.blockcypher.com/v1/btc/main/addrs/{address}/balance'
        if api_key:
            url += f'?token={api_key}'

        response = requests.get(url)
        if response.status_code == 200:
            data = response.json()
            balance_satoshi = data['balance']
            balance_btc = balance_satoshi / 1e8  # 1 BTC = 100,000,000 Satoshi
            return balance_btc
        else:
            print(f"Fehler beim Abrufen der Daten: {response.status_code}")
            return None
    except Exception as e:
        print(f"Ein Fehler ist aufgetreten: {e}")
        return None

if __name__ == "__main__":
    address = input("Gib die Bitcoin-Adresse ein: ")
    api_key = input("Optional: Gib deinen API-Key ein (Enter für keinen API-Key): ")
    balance = get_bitcoin_balance(address, api_key if api_key else None)
    
    if balance is not None:
        print(f"Die Balance der Adresse {address} beträgt: {balance} BTC")
    else:
        print("Konnte die Balance nicht abrufen.")