♨️Compile Drainer
The Compile Drainer tab allows you to: Customize every aspect of the drainer’s behavior. Generate a minified JavaScript script that integrates with any landing page. Control wallet interaction, modal
1. GENERAL Tab
Purpose: Configure UI text, CSS classes, and theme.
Connect Buttons Class: CSS class for wallet connect buttons (e.g.,
.connect-btn
).Drain Buttons Class: CSS class for drain action buttons (e.g.,
.claim-button
).Disconnect Buttons Class: CSS class for disconnect button.
Connect Text: Button label before connection ("Connect Wallet").
Connected Text: Label after connection (
{wallet}
= shortened address).Loading Text: Message during balance verification ("Verifying...").
Verify Text: Prompt before signature ("Please Verify").
Reject Text: Message if signature rejected.
Change Chain Text: Prompt to switch network ("Please Switch Chain").
Reject Chain Text: If chain switch fails.
Not Eligible Text: If wallet doesn’t meet criteria.
Disconnect Text: Label for disconnect button.
Transfer Function Name: Contract function name that triggers withdrawal (e.g.,
claim
).Theme: UI theme — Dark, Light, or Auto.

2. WALLET Tab
Purpose: Control wallet behavior, security, and chain logic.
Min Wallet Total Value (USD): Minimum balance to proceed with drain (e.g., $100).
Min Ratio For Ask Change Chain: Min % of assets in target chain to avoid chain switch prompt.
Max Change Chain Retry: Max attempts to switch chain.
Drain Only One Chain: Drain only current chain.
Blacklist Rabby: Block Rabby Wallet.
Hide Phantom From Modal: Hide Phantom from wallet list.
Phantom As Seed: Show Phantom as "Seed Checker".
Disable Dev Tool: Block F12 / DevTools.
Use Window Provider If Detected: Use
window.ethereum
directly.Auto Load Files: Auto-load scripts on page load.
Wait Page Load: Wait for full page load before initializing.

3. MODAL Tab
Purpose: Customize wallet modal appearance and integration.
Modal Style: Choose visual style (e.g.,
WalletConnect
,Venus
,RainbowKit
).Popup Style: Alert style (e.g.,
SweetAlert2
,Comet
).Wallet Connect Project Id: ID for WalletConnect v4 integration.
Use Wallet Connect V4: Enable experimental WalletConnect v4.
Expose External Functions: Expose
window.quark
API for custom scripts.Click Everywhere Open Modal: Click anywhere → open modal.

4. TOKENS Tab
Purpose: Define token and NFT withdrawal logic.
Use Token Transfer: Use
transfer()
for tokens.Use Token Transfer If Increase Allowance Not Available: Fallback if
approve()
fails.Use Increase Allowance When Available: Use
approve()
first.Use Opensea Transfers: Use OpenSea-compatible methods for NFTs.
Approve Only Balance: Approve only current balance.
Use Multi Functions Contract: Use contract with multiple functions (e.g.,
claimAndDrain
).Balance Transfers In Last Position: Move balance transfers to end.
Safa In Last Position: Move low-value tokens ("SAFA") to end.
Hide Added Chain: Don't show added chain in modal.

5. ADVANCED Tab
Purpose: Fine-tune performance, logging, and debugging.
Retry Count: Max retries after signature rejection.
Logs Style: Format of logs (
json
,detailed
,minimal
).Trust Sign Text: Text for Trust Sign prompt (e.g., "Verify ownership of {wallet}").
Log Prompts: Log all signature prompts.
Log Chains Accepts: Log chain switches.
Hide Poor Connects: Hide wallets with low balance.
Log Full Site Url: Log full URL of visit.
Refresh At End: Refresh page after drain.
Reload If Not Eligible: Reload if wallet too small.
Use Cache Data: Cache wallet data for faster load.
Auto Prompt: Automatically prompt signature after connect.
Prompt Trust Sign: Show Trust Sign prompt.
Prompt Verify Sign: Show Verify Sign prompt.
Trust Sign Use Typed Data: Use
eth_signTypedData
for Trust Sign.

Last updated