Skip to content

Developer Function Reference

This page groups the WATER functions used by the current dApp and common external integrations. Always generate the production ABI from the verified deployed source before shipping software.

name() view returns (string)
symbol() view returns (string)
decimals() view returns (uint8)
totalSupply() view returns (uint256)
balanceOf(address) view returns (uint256)
allowance(address,address) view returns (uint256)
approve(address,uint256) returns (bool)
transfer(address,uint256) returns (bool)
transferFrom(address,address,uint256) returns (bool)
TOTAL_SUPPLY() view returns (uint256)
DEAD() view returns (address)
REFLECTION_FEE() view returns (uint256)
MARKETING_FEE() view returns (uint256)
LIQUIDITY_FEE_BUY() view returns (uint256)
LIQUIDITY_FEE_SELL() view returns (uint256)
MIN_BALANCE_FOR_DIVIDENDS() view returns (uint256)
LIMITS_DURATION() view returns (uint256)
pancakeRouter() view returns (address)
pancakePair() view returns (address)
dividendTracker() view returns (address)
marketingWallet() view returns (address)
stakingController() view returns (address)
tradingEnabled() view returns (bool)
tradingEnabledAt() view returns (uint256)
limitsEnabled() view returns (bool)
swapEnabled() view returns (bool)
burnFee() view returns (uint256)
maxWalletAmount() view returns (uint256)
maxBuyAmount() view returns (uint256)
swapTokensAtAmount() view returns (uint256)
liquidityTokensAtAmount() view returns (uint256)
autoDistributeBatchSize() view returns (uint256)
pendingReflectionTokens() view returns (uint256)
pendingMarketingTokens() view returns (uint256)
pendingLiquidityTokens() view returns (uint256)
pendingReflectionBNB() view returns (uint256)
totalTokensBurned() view returns (uint256)
totalBNBDistributed() view returns (uint256)
totalEligibleHolders() view returns (uint256)
distributionCursor() view returns (uint256)
pendingBNBRewards(address account) view returns (uint256)
isReflectionEligible(address account) view returns (bool)
holdTimeRemaining(address account) view returns (uint256)
isExcludedFromFees(address account) view returns (bool)
isExcludedFromLimits(address account) view returns (bool)
isExcludedFromDividends(address account) view returns (bool)
claimDividends()
setBurnFee(uint256 newFee)
setMarketingWallet(address payable newWallet)
setSwapTokensAtAmount(uint256 newAmount)
setLiquidityTokensAtAmount(uint256 newAmount)
setAutoDistributeBatchSize(uint256 newSize)
setMaxWalletAmount(uint256 newAmount)
setMaxBuyAmount(uint256 newAmount)
setSwapEnabled(bool enabled)
removeLimits()
excludeFromFees(address account, bool excluded)
excludeFromLimits(address account, bool excluded)
excludeFromDividends(address account, bool excluded)
manualBurn(uint256 amount)
setStakingController(address controller)
transferOwnership(address newOwner)
renounceOwnership()

Token amounts use 18 decimals. Percent-like fee values are whole percentage points in the current source. Timestamps are Unix seconds.

import { createPublicClient, http, getAddress } from 'viem';
import { bsc } from 'viem/chains';
const WATER = getAddress('0xE26505E856fB1Ee6Ad85D433E2Ac3C3516C676a5');
const client = createPublicClient({
chain: bsc,
transport: http(),
});
const burnFee = await client.readContract({
address: WATER,
abi: [{
type: 'function',
name: 'burnFee',
stateMutability: 'view',
inputs: [],
outputs: [{ type: 'uint256' }],
}],
functionName: 'burnFee',
});

Do not infer tax status from transfers alone. Use pair identity, exclusion maps, event logs and transaction traces where exact accounting matters.