from web3 import Web3 infura_url = "https://mainnet.infura.io/v3/your_key" # Replace your_key with your Infura API id web3 = Web3(Web3.HTTPProvider(infura_url)) your_wallet_address = 'your_wallet_Address' # wallet_Address your_wallet_address_private_key = 'private_key' # private key of the above your wallet address dbxen_contract_address = '0xF5c80c305803280B587F8cabBcCdC4d9BF522AbD' xen_public_address = '0x06450dEe7FD2Fb8E39061434BAbCFC05599a6Fb8' dbxenft_abi = '[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"batchNumber\",\"type\":\"uint256\"}],\"name\":\"burnBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]' contract = web3.eth.contract(address=dbxen_contract_address, abi=dbxenft_abi) #change numbers to fit daily brn requirements, gwei, tip, payable_amount (burn cost list on wapmat depending on gwei and batches) payable_amount = 0.289 payable_amount = int(payable_amount * 10**18) gwei_limit = 5.9 wei_amount = int(gwei_limit * 1e9) tip = int(0.13 * 1e9) batches = 811 nonceNumber = web3.eth.get_transaction_count(web3.to_checksum_address(your_wallet_address)) #You need to generate new access list each cycle, you can use infura or alchemy eth_createAccessList api call, once generated for further burns you only need to change the ...2abd storage key part ...fb8 is alway the same tx = contract.functions.burnBatch(batches).build_transaction({ 'from': your_wallet_address, 'value': payable_amount, 'nonce': nonceNumber, 'maxFeePerGas': wei_amount, 'maxPriorityFeePerGas': tip, 'type':2, 'gas': 125000, 'accessList': [ { "address": "0x06450dee7fd2fb8e39061434babcfc05599a6fb8", "storageKeys": [ "0x2a6d230697c058b8b814e369a11b29de03014202898e3173de452bae91636177", "0xe2a38aa5adcc4da3e7692d2431ac153f917c406a209f26de78d2c7aac0e55ed2", "0x0000000000000000000000000000000000000000000000000000000000000002", "0xa513c5eaef4a6dbb11cf620355bed2f945cd92520e1673ec080cced9718ff5bf" ] }, { "address": "0xf5c80c305803280b587f8cabbccdc4d9bf522abd", "storageKeys": [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000007", "0x99d4c7459e575436ad466ecfcf804fcfcc64e3d766b7302c5207dc54d7a6b244", "0xe49047bb4533f0bbc17389ba392573136fc26559ca8b125429cb0fa37f226c6f", "0xbd7589673f62d48cd50eedea189615e66a13c7214a1b10fb431268096ec6e7ce", "0x0000000000000000000000000000000000000000000000000000000000000006", "0x0000000000000000000000000000000000000000000000000000000000000009", "0xd488ba528a7bbc6cb35cc719d517519c997b726bf7e9016e8f63d71eefe8b64b", "0xa35054def9c2baf686277826c0061bf3730d19a99f062fa14c969f8ef17b02d2" ] } ], }) signed_tx = web3.eth.account.sign_transaction(tx, your_wallet_address_private_key) tx_hash = web3.eth.send_raw_transaction(signed_tx.rawTransaction) print("Transaction Hash:", web3.to_hex(tx_hash))