Bad Debt Socialization Executor
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
Bad Debt Socialization Executor enables authorized governance actors to execute bad debt socialization in lending protocols—writing off unrecoverable debt and distributing the loss across protocol stakeholders. The tool reads your connected wallet address, the lending pool contract address, bad debt amount, borrower address, collateral seized, protocol reserves, liquidation shortfall, current block timestamp, and governance approval status. It displays the bad debt details, protocol reserves, shortfall, and approval status before execution. With proper governance approval, the tool writes off the bad debt and distributes the loss according to protocol rules, restoring the protocol's balance sheet.
HOW TO USE
Connect your wallet and select your network. Enter the lending pool contract address and the borrower address with the bad debt. Optionally enter the bad debt amount and collateral seized for reference. Click "Fetch bad debt status" to load the current bad debt details including the amount, collateral seized, liquidation shortfall, protocol reserves, governance approval status, and whether the debt has already been socialized. If governance approval is granted and the debt has not been socialized, review the details carefully. Click "Execute bad debt socialization" to write off the debt and distribute the loss. You will be prompted for a final confirmation before the transaction is executed.
THE REAL MECHANISM — GOVERNANCE-CONTROLLED BAD DEBT WRITE-OFF WITH LOSS DISTRIBUTION
Unlike simple debt forgiveness that would benefit individual borrowers, this tool implements a governance-controlled bad debt socialization process with proper accounting. The getBadDebt function returns the bad debt amount, collateral seized, and liquidation shortfall for a given borrower. The getProtocolReserves function returns the current reserves available to absorb losses. The getGovernanceApproval function checks whether governance has approved the socialization of the specific bad debt. The socializeBadDebt function performs several operations: (1) writes off the bad debt from the protocol's accounting, (2) distributes the loss across protocol stakeholders (reserve factor, insurance fund, or other mechanisms), (3) records the socialization event for audit purposes, and (4) emits a BadDebtSocialized event with the borrower address, amount, and timestamp. The function can only be called by authorized governance actors. The tool reads all data via these functions and validates that governance approval is in place before enabling the execution button. All arithmetic uses ethers.js BigNumber with the token's decimal precision, and gas costs are reported using receipt.effectiveGasPrice.
WHAT IT CANNOT SEE
Cannot verify off-chain borrower solvency—the tool relies on the protocol's on-chain data and cannot audit the borrower's financial situation. It cannot ensure fair loss distribution—the loss distribution mechanism is determined by the protocol and may not be perceived as fair by all stakeholders. It cannot predict future bad debt—the tool cannot forecast whether additional bad debt will occur. It cannot detect if the protocol contracts contain vulnerabilities or malicious code—the tool does not audit the protocol logic. It cannot recover funds once bad debt is socialized.
PLEASE NOTE — EVM CHAINS ONLY
This tool exclusively supports EVM-compatible chains where ethers.js can connect via standard JSON-RPC. It does not support non-EVM chains such as Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, or XRP. The pool contract must implement the specific interface expected by this tool (getBadDebt, getProtocolReserves, getGovernanceApproval, isSocialized, socializeBadDebt). Only execute with proper governance authorization—socializing bad debt has significant financial implications. This tool is a governance execution interface, not a financial advisor or investment strategist.