Randomness Request Submission Tool
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Randomness Request Submission Tool is a non-custodial tool that requests secure random numbers from oracle-based random number generators for use in games, NFTs, and other applications. It reads randomness request contract state, user address, token balances, request parameters, request ID, seed value, callback address, callback function, request deadline, request status, user's request history, randomness source state, request fee structure, and response window to structure the optimal request operation. With a single transaction, it calls requestRandomness(), submitRandomnessRequest(), or executeRandomnessRequest() on the target contract, submitting a randomness request with an optional seed, callback address, and callback function signature. The tool supports various use cases including gaming, NFT minting, and randomized distribution mechanisms.
HOW TO USE
1. Connect your wallet (EVM-compatible).
2. Paste the randomness request contract address.
3. Optionally provide a seed value (leave blank for automatic generation).
4. Enter the callback address and callback function signature.
5. Optionally specify a request fee (if required by the contract).
6. Review the request status, response window, and request deadline.
7. Click "request randomness" and confirm the transaction in your wallet.
The tool checks request status and response window before execution to prevent failed transactions. After the transaction confirms, your randomness request is submitted—no centralized custody, no intermediaries. The random number will be delivered to the callback address when the oracle responds.
TECHNICAL MECHANISM: MULTI-FUNCTION FALLBACK WITH SEED VALIDATION
Unlike simple transaction builders that assume a single function signature, this tool implements a multi-function fallback strategy. It first attempts requestRandomness(), then falls back to submitRandomnessRequest() or executeRandomnessRequest() if the primary method fails—automatically adapting to different contract implementations without requiring the user to know the exact function name. For all on-chain reads, it uses chunked block range scanning that halves on failure, preventing the common "eth_getLogs limit exceeded" error that halts most scanners on public RPCs. It double-verifies request eligibility by checking both the current request status and response window from storage, rather than relying on historical events—because an event log proves previous requests were made, not that the current request can be accepted. Gas estimation uses receipt.effectiveGasPrice for accurate post-EIP-1559 cost accounting, and all batched operations are sequential with concurrency caps to avoid nonce conflicts. The tool also validates that the seed value is properly formatted and that the callback signature is correctly specified before execution.
WHAT IT CANNOT SEE
This tool cannot verify that the randomness source is truly random or unbiased. It cannot detect if the randomness has been manipulated. It cannot ensure that request will execute at the optimal gas price due to network conditions. It cannot guarantee that request will succeed if the randomness contract is paused or frozen. It cannot verify that the contract has not been upgraded or modified. It cannot detect if the trade path is optimal or not front-run. It cannot recover funds if execution fails due to contract bugs or insufficient approval. It cannot verify that the seed value is valid or not. It cannot predict market movements, price gaps, or flash crashes. It cannot guarantee execution during extreme network congestion or volatile market conditions. It cannot detect if the underlying randomness source has been compromised. It cannot prevent the user from canceling or modifying request parameters. It cannot ensure that the randomness will be delivered. It cannot protect against loss if request is rejected. It cannot guarantee that the callback will be executed correctly. It cannot ensure that the random number will be used as intended.
PLEASE NOTE
This tool operates only on EVM-compatible chains (Ethereum Mainnet, Polygon, Arbitrum, Optimism, etc.). It is non-custodial—you retain full control of your funds at all times. Always verify contract addresses, callback addresses, and request parameters before executing. Randomness requests may require a fee and are subject to oracle availability. The tool is provided as-is; use at your own risk.