{"id":17809735,"url":"https://github.com/zeroxbrock/flashbots-cli","last_synced_at":"2025-03-17T17:31:17.401Z","repository":{"id":39282343,"uuid":"493527423","full_name":"zeroXbrock/flashbots-cli","owner":"zeroXbrock","description":"cli for flashbots","archived":false,"fork":false,"pushed_at":"2023-03-01T09:03:16.000Z","size":1034,"stargazers_count":38,"open_issues_count":17,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-07T22:04:54.889Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeroXbrock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-18T05:53:38.000Z","updated_at":"2024-12-05T17:35:46.000Z","dependencies_parsed_at":"2024-10-27T16:04:27.971Z","dependency_job_id":null,"html_url":"https://github.com/zeroXbrock/flashbots-cli","commit_stats":{"total_commits":56,"total_committers":1,"mean_commits":56.0,"dds":0.0,"last_synced_commit":"3e3e8709b5a8cdae6f0b89116178dfddc3dc0061"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fflashbots-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fflashbots-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fflashbots-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeroXbrock%2Fflashbots-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeroXbrock","download_url":"https://codeload.github.com/zeroXbrock/flashbots-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243872434,"owners_count":20361479,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-27T15:21:35.268Z","updated_at":"2025-03-17T17:31:17.049Z","avatar_url":"https://github.com/zeroXbrock.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flashbots-cli\n\nFlashbots CLI Tool\n\n[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)\n[![Version](https://img.shields.io/npm/v/flashbots-cli.svg)](https://npmjs.org/package/flashbots-cli)\n[![CircleCI](https://circleci.com/gh/zeroXbrock/flashbots-cli/tree/main.svg?style=shield)](https://circleci.com/gh/zeroXbrock/flashbots-cli/tree/main)\n[![Downloads/week](https://img.shields.io/npm/dw/oclif-hello-world.svg)](https://npmjs.org/package/flashbots-cli)\n[![License](https://img.shields.io/npm/l/flashbots-cli.svg)](https://github.com/zeroXbrock/flashbots-cli/blob/main/package.json)\n\n`flashbots-cli` is a quick-and-easy solution for interacting with the flashbots relay. All methods implemented in the [`ethers-provider-flashbots-bundle`](https://github.com/flashbots/ethers-provider-flashbots-bundle) project are implemented here (and more coming soon).\n\n## install\n\n### via npm (global install)\n\n```sh\nnpm install -g flashbots-cli@latest\nflashbots --help\n```\n\n### via npx (one-off usage)\n\n```sh\nnpx flashbots-cli@latest --help\n\n# if you wanna get fancy\nalias fb='npx flashbots-cli@latest'\nfb --help\n```\n\n### install from source (hacker mode)\n\n```sh\n# if you use zsh\ncurl https://raw.githubusercontent.com/zeroXbrock/flashbots-cli/main/install.sh | /bin/zsh\n\n# if you use bash\ncurl https://raw.githubusercontent.com/zeroXbrock/flashbots-cli/main/install.sh | /bin/bash\n```\n\n## use\n\n**It is strongly recommended** to set `FB_AUTH_SIGNER` in your environment to a private key you control. It's used to sign bundles, authenticate requests, and earn reputation with Flashbots. Earning reputation can put you in the high priority queue for bundle submissions.\n\nHere's an example using the hardhat 0 account:\n\n```sh\n# set in terminal per-session\nexport FB_AUTH_SIGNER=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\n\n# recommended: set permanently in your terminal's profile (I use zsh)\necho 'export FB_AUTH_SIGNER=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80' \u003e\u003e ~/.zshrc\n```\n\n```sh\n# flashbots\n# flashbots help [command]\n# flashbots --help\n\nflashbots help\n```\n\nResult:\n\n```txt\nFlashbots CLI tool.\n\nVERSION\n  flashbots-cli/x.y.z linux-x64 node-v16.1.0\n\nUSAGE\n  $ flashbots [COMMAND]\n\nCOMMANDS\n  bundleCache           Add txs to a bundle one at a time.\n  getBundleStats        Get info about a bundle.\n  getConflictingBundle  Get information about competing bundles.\n  getUserStats          Get Flashbots reputation data for your account.\n  help                  Display help for flashbots.\n  sendBundle            Send a bundle to the Flashbots relay.\n  simulateBundle        Simulate a bundle.\n  uuid                  Generate a random UUID.\n```\n\nGet command usage\n\n```sh\n# flashbots help [COMMAND]\n# flashbots --help [COMMAND]\n# flashbots [COMMAND] --help\n\nflashbots simulateBundle --help\n```\n\nResult\n\n```txt\nSimulate a bundle.\n\nUSAGE\n  $ flashbots simulateBundle [BUNDLE_TXS] [-b \u003cvalue\u003e] [--state-block-tag\n    \u003cvalue\u003e] [--block-timestamp \u003cvalue\u003e]\n\nARGUMENTS\n  BUNDLE_TXS  JSON string-encoded array of raw signed transactions (0x-prefixed)\n\nFLAGS\n  -b, --target-block=\u003cvalue\u003e  Block to target for bundle submission\n  --block-timestamp=\u003cvalue\u003e   Timestamp to execute simulation against\n  --state-block-tag=\u003cvalue\u003e   Block tag which specifies block state to execute\n                              simulation against\n\nDESCRIPTION\n  Simulate a bundle.\n\nEXAMPLES\n  # Simulate a bundle in the current block\n\n    $ flashbots simulateBundle '[\"0x02f8d37c496de...\", \\\n      \"0x02f8d38a7bf47...\"]'\n\n  # Simulate a bundle against a specific timestamp\n\n    $ flashbots simulateBundle '[\"0x02f8d37c496de...\", \\\n      \"0x02f8d38a7bf47...\"]' --block-timestamp 1652859017\n\n  # Simulate a bundle against a block tag\n\n    $ flashbots simulateBundle '[\"0x02f8d37c496de...\", \\\n      \"0x02f8d38a7bf47...\"]' --state-block-tag latest\n```\n\n## examples\n\n### `bundleCache`\n\n`bundleCache` allows you to add raw signed transactions to a queue one at a time. This is commonly used for whitehat scenarios where you want to build a bundle using transactions that are signed by a private key you don't have.\n\n**Add first transaction to bundle:**\n\n```sh\n# raw signed tx #1\ntx1='0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce'\n\n# flashbots-cli includes a `uuid` command to generate UUIDs for this\nbundleId=$(flashbots uuid)\necho $bundleId\ncd8578e0-7c7a-40ce-b60d-190f084a87ee\n\nflashbots bundleCache $bundleId $tx1\n```\n\nResult:\n\n```json\n{\"nonce\":9,\"gasPrice\":{\"type\":\"BigNumber\",\"hex\":\"0x1010b87200\"},\"gasLimit\":{\"type\":\"BigNumber\",\"hex\":\"0x010d88\"},\"to\":\"0xeAa314Eb4Cc5A16458B17a94e759252f4FDA9eA4\",\"value\":{\"type\":\"BigNumber\",\"hex\":\"0x00\"},\"data\":\"0x6c617a792077616e6b6572\",\"chainId\":0,\"v\":27,\"r\":\"0x26314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04\",\"s\":\"0x0595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\",\"from\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"hash\":\"0x84809aa44167e877b4b95f74b4b7f022ce04114be0c37f39ca858c438abbfb75\",\"type\":null,\"confirmations\":0}\nCached tx in bundle cd8578e0-7c7a-40ce-b60d-190f084a87ee\n```\n\n**Add second tranaction to bundle:**\n\n```sh\n# raw signed tx #2\ntx2='0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb'\n\nflashbots bundleCache $bundleId $tx2\n```\n\nResult:\n\n```json\n{\"nonce\":10,\"gasPrice\":{\"type\":\"BigNumber\",\"hex\":\"0x1010b87200\"},\"gasLimit\":{\"type\":\"BigNumber\",\"hex\":\"0x010d88\"},\"to\":\"0xeAa314Eb4Cc5A16458B17a94e759252f4FDA9eA4\",\"value\":{\"type\":\"BigNumber\",\"hex\":\"0x00\"},\"data\":\"0x6c617a792077616e6b6572\",\"chainId\":0,\"v\":27,\"r\":\"0xef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784\",\"s\":\"0x3a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\",\"from\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"hash\":\"0x5346ddf789eb33c2e0a07bacbc53cf3f0766608b50cefcea64684586a650b6aa\",\"type\":null,\"confirmations\":0}\nCached tx in bundle cd8578e0-7c7a-40ce-b60d-190f084a87ee\n```\n\n**Get entire cached bundle:**\n\n```sh\nflashbots bundleCache $bundleId\n```\n\nResult:\n\n```txt\n{\"bundleId\":\"cd8578e0-7c7a-40ce-b60d-190f084a87ee\",\"rawTxs\":[\"0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\",\"0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\"]}\n```\n\n### `getBundleStats`\n\n`getBundleStats` retrieves information about a bundle's inclusion from simulation through submission.\n\n```sh\nbundleHash='0x123456789abcdef123456789abcdef123456789abcdef123456789abcdef1234'\ntargetBlock='13509887'\n\nflashbots getBundleStats $bundleHash $targetBlock\n```\n\nResult:\n\n```json\n{\n  \"isSimulated\": true,\n  \"isSentToMiners\": true,\n  \"isHighPriority\": true,\n  \"simulatedAt\": \"2021-10-29T04:00:50.526Z\",\n  \"submittedAt\": \"2021-10-29T04:00:50.472Z\",\n  \"sentToMinersAt\": \"2021-10-29T04:00:50.546Z\"\n}\n```\n\n### `getConflictingBundle`\n\n`getConflictingBundle` retrieves information about competing bundle(s).\n\n```sh\nsignedTxs='[\"0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\", \"0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\"]'\ntargetBlock=13140328\n\nflashbots getConflictingBundle $signedTxs $targetBlock\n```\n\nResult:\n\n```json\n{\n  \"conflictType\": FlashbotsBundleConflictType.NonceCollision,\n  \"initialSimulation\": {\n    \"totalGasUsed\": 205860,\n    \"bundleHash\": \"0x1720ea33d96dca026dddd5689f8cad21966988348ced04e9054a0dca5d60f1d4\",\n    \"coinbaseDiff\": BigNumber(0x0176750858d000),\n    },\n    \"results\": [...]\n  },\n  \"targetBundleGasPricing\": {\n    \"gasUsed\": 205860,\n    \"txCount\": 1,\n    \"gasFeesPaidBySearcher\": BigNumber(0x0176750858d000),\n    \"priorityFeesReceivedByMiner\": BigNumber(0x52efd8d80dbc24),\n    \"ethSentToCoinbase\": BigNumber.from(0x00),\n    \"effectiveGasPriceToSearcher\": BigNumber(0x77359400),\n    \"effectivePriorityFeeToMiner\": BigNumber(0x1a6734f601)\n  },\n  \"conflictingBundleGasPricing\": {\n    \"gasUsed\": 396462,\n    \"txCount\": 3,\n    \"gasFeesPaidBySearcher\": BigNumber(0xc4c3c97ce1bff8b4),\n    \"priorityFeesReceivedByMiner\": BigNumber(0xc4213e4d7ad82006),\n    \"ethSentToCoinbase\": BigNumber(0xc4c2663d3b804731),\n    \"effectiveGasPriceToSearcher\": BigNumber(0x410ce509aa1e),\n    \"effectivePriorityFeeToMiner\": BigNumber(0x40f2069f201d)\n  },\n  \"conflictingBundle\": [\n    {\n      \"transaction_hash\": \"0x23a33038289dda1b6e722835d2b9388cb41d96d085c19ca6b71bb3e9697e6692\",\n      \"tx_index\": 0,\n      \"bundle_type\": \"flashbots\",\n      \"bundle_index\": 0,\n      \"block_number\": 13140328,\n      \"eoa_address\": \"0x38563699560e4512c7574C8cC5Cf89fd43923BcA\",\n      \"to_address\": \"0x000000000035B5e5ad9019092C665357240f594e\",\n      \"gas_used\": 100893,\n      \"gas_price\": \"0\",\n      \"coinbase_transfer\": \"0\",\n      \"total_miner_reward\": \"0\"\n    },\n   ...\n  ]\n}\n```\n\n### `getUserStats`\n\n`getUserStats` retrieves Flashbots reputation information about an account you control.\n\n```sh\n# using FB_AUTH_SIGNER from environment\nflashbots getUserStats\n```\n\nOptionally override your environment key:\n\n```sh\n# Get user stats about hardhat account 0\nauthSignerKey=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80\n\nflashbots getUserStats $authSignerKey\n```\n\nResult:\n\n```txt\n{\"is_high_priority\":true,\"all_time_miner_payments\":\"271021997564860145835\",\"all_time_gas_simulated\":\"28405149806\",\"last_7d_miner_payments\":\"18728986348907349342\",\"last_7d_gas_simulated\":\"4798626009\",\"last_1d_miner_payments\":\"5360668420920718\",\"last_1d_gas_simulated\":\"4917660\"}\n```\n\n### `sendBundle`\n\n`sendBundle` sends a bundle of raw signed transactions to flashbots. By default, we target the next available block (`getBlockNumber() + 1`) and sign the bundle with the key at the environment variable FB_AUTH_SIGNER. If this variable is not set, a random key will be generated and used to send the bundle.\n\nSee `flashbots help sendBundle` for optional settings.\n\n```sh\nsignedTxs='[\"0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\", \"0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\"]'\n\nflashbots sendBundle $signedTxs\n```\n\nResult:\n\n```json\nTargeting block 14802559 for bundle submission.\n\n{\"bundleTransactions\":[{\"signedTransaction\":\"0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\",\"hash\":\"0x84809aa44167e877b4b95f74b4b7f022ce04114be0c37f39ca858c438abbfb75\",\"account\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"nonce\":9},{\"signedTransaction\":\"0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\",\"hash\":\"0x5346ddf789eb33c2e0a07bacbc53cf3f0766608b50cefcea64684586a650b6aa\",\"account\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"nonce\":10}],\"bundleHash\":\"0x57b0f5e51b924a9d88a59b2d4f0c4fd2c26c80a130d982c9bc4e97d3001ff054\"}\n```\n\n### `simulateBundle`\n\n`simulateBundle` simulates a bundle and prints information about the bundle's inclusion viability.\n\n```sh\nsignedTxs='[\"0xf87009851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba026314be2b42cda8015133376447bd6ab93bc08d367fe7d1b57f270256f5e5e04a00595467676caa58aacc709a4c1c987cf2f18f10a527797c4730e23a320d034ce\", \"0xf8700a851010b8720083010d8894eaa314eb4cc5a16458b17a94e759252f4fda9ea4808b6c617a792077616e6b65721ba0ef7bdce42d5e3c8ef515d1afaafecd952ac1f2adc97f1c3a76807a0b9ac21784a03a5589f444cf5e5b09456ab599544ac6a6e831fd6a1e9c0b596db0a3cc085edb\"]'\n\nflashbots simulateBundle $signedTxs\n```\n\nResult:\n\n```json\nTargeting block 14802588 for bundle simulation.\n{\"bundleHash\":\"0x57b0f5e51b924a9d88a59b2d4f0c4fd2c26c80a130d982c9bc4e97d3001ff054\",\"coinbaseDiff\":{\"type\":\"BigNumber\",\"hex\":\"0x05db54a1c878e0\"},\"results\":[{\"coinbaseDiff\":\"824265710779504\",\"ethSentToCoinbase\":\"0\",\"fromAddress\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"gasFees\":\"824265710779504\",\"gasPrice\":\"38924523554\",\"gasUsed\":21176,\"toAddress\":\"0xeAa314Eb4Cc5A16458B17a94e759252f4FDA9eA4\",\"txHash\":\"0x84809aa44167e877b4b95f74b4b7f022ce04114be0c37f39ca858c438abbfb75\",\"value\":\"0x\"},{\"coinbaseDiff\":\"824265710779504\",\"ethSentToCoinbase\":\"0\",\"fromAddress\":\"0x13babe07e11ff6f2276B97735131c867D793615b\",\"gasFees\":\"824265710779504\",\"gasPrice\":\"38924523554\",\"gasUsed\":21176,\"toAddress\":\"0xeAa314Eb4Cc5A16458B17a94e759252f4FDA9eA4\",\"txHash\":\"0x5346ddf789eb33c2e0a07bacbc53cf3f0766608b50cefcea64684586a650b6aa\",\"value\":\"0x\"}],\"totalGasUsed\":42352}\n```\n\n### `sendPrivateTransaction`\n\n`sendPrivateTransaction` sends a single signed transaction to Flashbots. Flashbots will try to get the transaction included for a maximum of 25 blocks.\n\n```sh\nsignedTx=0xf87080853010b872008a010d8894eaa314db4cc5a16458b17a94e759252a4fda9ea4808b6c6a7a792f77616e6b65721ba05bf41e534c768499a3a84567e9acca5fdec73164d54b0cd21e4cdd94a11af29ba0591f06662aa673b645378774ee4a665fdf8a7ec8e0418ec0ac0d24f915bc8526\nflashbots sendPrivateTransaction $signedTx\n```\n\nResult:\n\n```json\n{\"transaction\":{\"signedTransaction\":\"0xf87080853010b872008a010d8894eaa314db4cc5a16458b17a94e759252a4fda9ea4808b6c6a7a792f77616e6b65721ba05bf41e534c768499a3a84567e9acca5fdec73164d54b0cd21e4cdd94a11af29ba0591f06662aa673b645378774ee4a665fdf8a7ec8e0418ec0ac0d24f915bc8526\",\"hash\":\"0x1030b9b9c685b0c63543ce2b14d286b3dcc82852a9d3404e3f1aaaf5108bb73c\",\"account\":\"0x0000000000092DD1482686a414A08e64fF1463C2\",\"nonce\":0}}\n```\n\nSend with options:\n\n```sh\nsignedTx=0xf87080853010b872008a010d8894eaa314db4cc5a16458b17a94e759252a4fda9ea4808b6c6a7a792f77616e6b65721ba05bf41e534c768499a3a84567e9acca5fdec73164d54b0cd21e4cdd94a11af29ba0591f06662aa673b645378774ee4a665fdf8a7ec8e0418ec0ac0d24f915bc8526\nflashbots sendPrivateTransaction $signedTx --max-block-number 15161558 --simulation-timestamp 1658080039\n```\n\nResult:\n\n```json\n{\"transaction\":{\"signedTransaction\":\"0xf87080853010b872008a010d8894eaa314db4cc5a16458b17a94e759252a4fda9ea4808b6c6a7a792f77616e6b65721ba05bf41e534c768499a3a84567e9acca5fdec73164d54b0cd21e4cdd94a11af29ba0591f06662aa673b645378774ee4a665fdf8a7ec8e0418ec0ac0d24f915bc8526\",\"hash\":\"0x1030b9b9c685b0c63543ce2b14d286b3dcc82852a9d3404e3f1aaaf5108bb73c\",\"account\":\"0x0000000000092DD1482686a414A08e64fF1463C2\",\"nonce\":0}}\nWaiting for inclusion...\nPrivate transaction successfully mined.\n```\n\n### `cancelPrivateTransaction`\n\n`cancelPrivateTransaction` cancels a pending private transaction.\n\n```sh\ntxHash=0x1030b9b9c685b0c63543ce2b14d286b3dcc82852a9d3404e3f1aaaf5108bb73c\nflashbots cancelPrivateTransaction $txHash\n```\n\nResult:\n\n```txt\nTransaction cancelled (0x1030b9b9c685b0c63543ce2b14d286b3dcc82852a9d3404e3f1aaaf5108bb73c)\n```\n\n## development\n\n### run local build\n\n```sh\n./bin/dev help\n```\n\n## features\n\n- [x] `bundleCache`\n- [x] `getBundleStats`\n- [x] `getConflictingBundle`\n- [x] `getUserStats`\n- [x] `sendBundle`\n- [x] `simulateBundle`\n- [x] `uuid`\n- [x] `sendPrivateTransaction`\n  - [ ] fast mode option\n- [x] `cancelPrivateTransaction`\n- [ ] Goerli support\n- [ ] auto-complete\n- [ ] sign, simulate, \u0026 send unsigned txs\n- [ ] bundle status polling (equivalent of `(await sendBundle()).wait()`)\n\nGot a big 🧠 idea? Drop it in the [issues](https://github.com/zeroXbrock/flashbots-cli/issues) and tag the maintainer! Or if you can code it yourself, drop a PR! Contributions welcome 🤝\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroxbrock%2Fflashbots-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeroxbrock%2Fflashbots-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeroxbrock%2Fflashbots-cli/lists"}