Skip to main content

SongRevenueHook

The SongRevenueHook is a Uniswap V4 hook that distributes ad revenue to token holders.

How It Works​

  1. Platform collects ad revenue (ETH)
  2. Hook calls donate() on Uniswap pool
  3. ETH added to pool reserves
  4. Token price increases
  5. All holders benefit proportionally

Uniswap V4 Hooks​

Uniswap V4 introduced hooks - custom contract logic that executes during pool operations.

Implemented Hooks​

function afterSwap(
address sender,
PoolKey calldata key,
IPoolManager.SwapParams calldata params,
BalanceDelta delta,
bytes calldata hookData
) external override returns (bytes4, int128)

Revenue Distribution​

function distributeRevenue(uint256 tokenId) external payable {
address pool = getPool(tokenId);

// 80% to pool, 20% to platform
uint256 poolShare = (msg.value * 80) / 100;
uint256 platformShare = msg.value - poolShare;

// Add ETH to pool via donate
poolManager.donate(key, poolShare, 0, "");

// Transfer platform share
platformWallet.transfer(platformShare);
}

Pool Parameters​

ParameterValue
Token PairSONG_TOKEN / ETH
Fee Tier1% (10000 bps)
Tick Spacing60

Events​

event RevenueDistributed(uint256 indexed tokenId, uint256 amount);
event SwapExecuted(uint256 indexed tokenId, address indexed trader, uint256 amount);