An offering enforced by code

Tithe

$ T I T H E

Five in every hundred, rendered unto the void.

A deflationary ERC-20. Every swap burns 5% of its own flow — forever, irreversibly. No treasury collects it. No team can redirect it. The offering is owed to nothing and no one.

Rendered unto the void
of 1,000,000,000 TITHE
Contract · Ethereum mainnet 0xFaBA2564947C134206E195CB9EEDe54E64a8bD31
I.

The Rite

A tithe was the tenth owed to the temple — a debt to the divine, recorded in ledgers and collected without exception. It was never optional and never refunded. To trade in the parish was to owe.

TITHE revives the obligation and halves it: five in every hundred. But where the old tithe fed a church, this one feeds nothing at all. Every trade renders its portion to the void — burned beyond recovery, removed from the supply, owed to absence itself. There is no collection plate. There is no one on the other side.

℣. What is offered, who receives it?

℟. No one. It is destroyed.

℣. What is destroyed, can it return?

℟. Never. The supply only descends.

II.

The Mechanism

The rite is not a promise. It is a function call, executed on-chain at the moment of every swap.

A Uniswap hook sits over the pool. On each trade it takes five percent of the flow and calls burn() on the token. The tokens cease to exist; total supply falls. There is no tax wallet, no fee recipient, no destination address — the destination is annihilation.

swap on Uniswap └─▶ hook intercepts the trade └─▶ collects 5% of the flow └─▶ calls burn(amount) on $TITHE └─▶ tokens destroyed · supply └─▶ rendered unto the void
The token itself is deliberately plain: a standard OpenZeppelin ERC20Burnable exposing burn(uint256), which destroys the caller's own balance. It is permissionless and self-burning. The rite is load-bearing — were that function missing or incompatible, the hook's call would fail and every swap would revert. The altar must accept the offering, or no one may trade at all.
III.

The Ledger

An honest account, fixed at genesis and never amended.

NameTithe
Symbol$TITHE
Genesis supply1,000,000,000
Decimals18
Tithe rate, every swap5.00%
Mint after genesisNone — supply is sealed
OwnerNone — no owner key exists
StandardERC-20 · ERC20Burnable
Supply trajectoryMonotonic descent
IV.

The Covenant

The altar, set in stone. Verify it on-chain before you trade — read the source, confirm the address, owe nothing to trust.

Contract · Ethereum 0xFaBA2564947C134206E195CB9EEDe54E64a8bD31
Tithe.sol · Solidity 0.8.26
// SPDX-License-Identifier: MIT
pragma solidity 0.8.26;

import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";

/*
                              T I T H E
                              $ T I T H E

    Five in every hundred, rendered unto the void.

    Every swap pays a tithe. The offering is not taken by a
    treasury, a team, or a vault — it is burned, gone, owed to
    nothing and no one. What the hook collects, it destroys.

    This contract is the altar. It holds no logic of its own
    beyond the rite: a standard, permissionless self-burn that
    the swap hook invokes on every trade via burn(uint256).
    No owner. No mint after genesis. The supply only descends.
*/

contract Tithe is ERC20Burnable {
    /// @notice The full congregation, minted once at genesis. Nothing is ever added.
    uint256 public constant MAX_SUPPLY = 1_000_000_000 ether; // 1e9 * 1e18

    constructor() ERC20("Tithe", "TITHE") {
        _mint(msg.sender, MAX_SUPPLY);
    }

    /// @notice How much has been rendered unto the void since genesis.
    function totalTithed() external view returns (uint256) {
        return MAX_SUPPLY - totalSupply();
    }

    // burn(uint256) and burnFrom(address,uint256) are inherited from
    // OpenZeppelin's ERC20Burnable. burn() destroys the caller's own
    // balance — exactly what the swap hook calls on every trade.
}