tokenomics

Transparent. Short-Cycle. Liquidity-Focused.

Transparent. Short-Cycle. Liquidity-Focused.

NameFourteenToken
Symbol4TEEN
Contract Address TMLXiCW2ZAkvjmn79ZXa4vdHX5BE3n9x4A
Total SupplyDynamic Supply (Mint-on-Demand)
Decimals6
PriceFixed — 1 TRX = 1 4TEEN
Website4teen.me
Whitepaper4teen.me/wp

Economic Architecture

Fixed Entry Price

4TEEN = 1 TRX

Every buyer enters at the same rate. No slippage. No volatility. No surprises.

Instant Minting + 14-Day Lock

When a user buys 4TEEN:

  • New tokens are minted instantly

  • Delivered to the user

  • Automatically locked for 14 days

This prevents instant selling, protects liquidity, and aligns all participants into the same cycle.

Daily Liquidity Injection (6.43%)

Every purchase generates TRX.

From that TRX, the system injects 6.43% per day for 14 days into the liquidity pool.

This creates:

  • predictable liquidity growth

  • natural price appreciation

  • a steadily strengthening market

TRX Flow From Every Purchase

When someone buys 4TEEN, their TRX is distributed transparently across three open wallets:

90

 Liquidity Engine Wallet 

This wallet holds 90% of the purchase amount.

From here, 6.43% per day for 14 days 
is automatically added to the liquidity pool.

7

Operations Wallet

Used for infrastructure, servers, integrations,
development, security, and maintenance.

3

Community & Airdrop Wallet 

Allocated for giveaways, marketing campaigns,
promotions, and rewards.

TRX Flow From Every Purchase

How the Liquidity Controller Works

Every token purchase initiates a 14-day liquidity deployment cycle, enforced at the smart contract level.

TRX allocation on purchase:

  • 90% of TRX from each direct token purchase is transferred to the

    Liquidity Engine (Manager) Wallet

    TVKBLwg222skKnZ3F3boTiH35KC7nvYEuZ

  • 10% of TRX is allocated for protocol operations (development, infrastructure, execution costs)

Liquidity flow mechanics:

This ensures that liquidity growth is gradual, predictable, and fully collateralized by real TRX.

Why This Model Works

Liquidity Is Contract-Controlled, Not Wallet-Dependent

All liquidity-bound TRX is sent directly to the Liquidity Controller contract, not to an externally owned wallet.

  • 90% of TRX from every direct token purchase is transferred to:

    TVKBLwg222skKnZ3F3boTiH35KC7nvYEuZ

    (FourteenLiquidityController)

  • The contract itself holds the balance and enforces execution rules

  • No manual custody, no discretionary transfers, no off-chain control

Liquidity growth is governed entirely by on-chain logic, not by operators.

01

Daily Liquidity Injection From the Controller Balance 
(50 / 50 Split)

Once per day, the Liquidity Controller executes a scheduled release:

  • 6.43% of the current contract balance is calculated

  • The released amount is split 50 / 50 between two execution targets:

targetA

targetB

This ensures:

  • parallel liquidity growth on multiple DEX venues

  • reduced dependency on a single pool

  • smoother depth expansion across markets

02

Overlapping 14-Day Cycles Create Continuous Forward Momentum

Each purchase initiates its own 14-day liquidity deployment cycle.

Because:

  • new purchases continuously add TRX to the controller balance

  • daily execution is based on the current total balance

  • multiple cycles run simultaneously

…the system never pauses or resets.

Liquidity is released every day, regardless of individual user timelines.

03

Token Unlocks Occur After Liquidity Has Already Expanded

Tokens received via direct purchase are locked for 14 days.

By the time unlocking occurs:

  • multiple daily liquidity injections have already taken place

  • total pool depth is higher

  • slippage and price impact are structurally lower

Users unlock into a market that has mechanically strengthened since their entry.

04

Predictable Buy Price Growth (Direct Purchase Only)

The mint price follows a fixed, rule-based growth schedule, independent of market sentiment.

Price Growth Schedule (Direct Purchase)

  • Issuing Time: 2025-11-23 02:37:45 (UTC)

  • Adjustment Interval: every 90 days

  • Growth per period: +14.75%

Phase Effective Date (UTC) Mint Price (TRX per 4TEEN)
Phase 0 2025-11-23 02:37:45 1.0000
Phase 1 2026-02-21 02:37:45 1.1475
Phase 2 2026-05-22 02:37:45 1.3168
Phase 3 2026-08-20 02:37:45 1.5110
Phase 4 2026-11-18 02:37:45 1.7350
05

Minting Exists, but Liquidity Expansion Dominates Supply

Tokens are minted on purchase — but system pressure is asymmetric:

  • only 90% TRX is routed into liquidity logic

  • liquidity is released over time, not instantly

  • immediate sell pressure is blocked by the lock

  • buy price increases independently of secondary markets

The result is a liquidity-first system, where market depth and price stability grow faster than unlocked supply.

06

14-Day Unlock Cycle

Day 0:

Day 1–14

Day 14

User buys 4TEEN → tokens minted → locked for 14 days

Automatic 6.43% TRX daily injections → liquidity grows

Tokens unlock → user can sell, hold, or continue accumulating

Contract Transparency

Everything is open, public, and verifiable.

📄 Smart Contract:

// SPDX-License-Identifier: MIT
// Author: Stan At

pragma solidity ^0.8.0;

abstract contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

constructor() {
_transferOwnership(msg.sender);
}

function owner() public view virtual returns (address) {
return _owner;
}

modifier onlyOwner() {
require(owner() == msg.sender, "Ownable: caller is not the owner");
_;
}

function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}

function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}

contract TRC20 {
string public name;
string public symbol;
uint8 public decimals;
uint256 private _totalSupply;

mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;

event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);

constructor(string memory _name, string memory _symbol, uint8 _decimals) {
name = _name;
symbol = _symbol;
decimals = _decimals;
}

function totalSupply() public view virtual returns (uint256) {
return _totalSupply;
}

function balanceOf(address account) public view virtual returns (uint256) {
return _balances[account];
}

function transfer(address recipient, uint256 amount) public virtual returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}

function allowance(address owner_, address spender) public view virtual returns (uint256) {
return _allowances[owner_][spender];
}

function approve(address spender, uint256 amount) public virtual returns (bool) {
_approve(msg.sender, spender, amount);
return true;
}

function transferFrom(address sender, address recipient, uint256 amount) public virtual returns (bool) {
_transfer(sender, recipient, amount);
uint256 currentAllowance = _allowances[sender][msg.sender];
require(currentAllowance >= amount, "TRC20: transfer amount exceeds allowance");
_approve(sender, msg.sender, currentAllowance - amount);
return true;
}

function _transfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0), "TRC20: transfer from the zero address");
require(recipient != address(0), "TRC20: transfer to the zero address");

uint256 senderBalance = _balances[sender];
require(senderBalance >= amount, "TRC20: transfer amount exceeds balance");

_balances[sender] = senderBalance - amount;
_balances[recipient] += amount;

emit Transfer(sender, recipient, amount);
}

function _mint(address account, uint256 amount) internal {
require(account != address(0), "TRC20: mint to the zero address");

_totalSupply += amount;
_balances[account] += amount;

emit Transfer(address(0), account, amount);
}

function _approve(address owner_, address spender, uint256 amount) internal {
require(owner_ != address(0), "TRC20: approve from the zero address");
require(spender != address(0), "TRC20: approve to the zero address");

_allowances[owner_][spender] = amount;

emit Approval(owner_, spender, amount);
}
}

contract FourteenToken is TRC20, Ownable {
uint256 public constant initialSupply = 10102022000000;

uint256 public annualGrowthRate = 1475;
uint256 public tokenPrice = 1000000;
uint256 public lastPriceUpdate;

uint256 public constant priceUpdateInterval = 90 days;

struct LockInfo {
uint256 amount;
uint256 releaseTime;
}

mapping(address => LockInfo[]) private _locks;

event PriceUpdated(uint256 oldPrice, uint256 newPrice);
event BuyTokens(address indexed buyer, uint256 amountTRX, uint256 amountTokens);

// Forwarding configuration
address public liquidityPool;
address public airdropAddress;

// Reentrancy guard for forwarding
bool private _inForward;

modifier nonReentrant() {
require(!_inForward, "Reentrant");
_inForward = true;
_;
_inForward = false;
}

constructor(address _liquidityPool, address _airdropAddress)
TRC20("4teen", "4TEEN", 6)
{
require(_liquidityPool != address(0), "liquidity pool zero");
require(_airdropAddress != address(0), "airdrop zero");

liquidityPool = _liquidityPool;
airdropAddress = _airdropAddress;

_mint(msg.sender, initialSupply);
lastPriceUpdate = block.timestamp;
}

function setAnnualGrowthRate(uint256 newRate) external onlyOwner {
annualGrowthRate = newRate;
}

function setLiquidityPool(address _pool) external onlyOwner {
require(_pool != address(0), "zero");
liquidityPool = _pool;
}

function setAirdropAddress(address _addr) external onlyOwner {
require(_addr != address(0), "zero");
airdropAddress = _addr;
}

function getCurrentPrice() public returns (uint256) {
uint256 elapsedPeriods = (block.timestamp - lastPriceUpdate) / priceUpdateInterval;

if (elapsedPeriods > 0) {
uint256 oldPrice = tokenPrice;

for (uint256 i = 0; i < elapsedPeriods; i++) {
tokenPrice = (tokenPrice * (10000 + annualGrowthRate)) / 10000;
}

lastPriceUpdate += elapsedPeriods * priceUpdateInterval;

emit PriceUpdated(oldPrice, tokenPrice);
}

return tokenPrice;
}

function buyTokens() external payable nonReentrant {
require(msg.value > 0, "Send TRX to buy tokens");

getCurrentPrice();

uint256 amount = (msg.value * 10**decimals) / tokenPrice;
require(amount > 0, "Amount too small");

_mint(msg.sender, amount);

_locks[msg.sender].push(
LockInfo({
amount: amount,
releaseTime: block.timestamp + 14 days
})
);

// Forwarding logic: 7% -> owner, 90% -> liquidityPool, 3% -> airdropAddress
uint256 ownerShare = (msg.value * 7) / 100;
uint256 liquidityShare = (msg.value * 90) / 100;
uint256 airdropShare = msg.value - ownerShare - liquidityShare; // ensures total sums to msg.value

// send to owner
(bool sentOwner, ) = payable(owner()).call{ value: ownerShare }("");
require(sentOwner, "Owner transfer failed");

// send to liquidity pool
(bool sentLP, ) = payable(liquidityPool).call{ value: liquidityShare }("");
require(sentLP, "Liquidity transfer failed");

// send to airdrop address
(bool sentAirdrop, ) = payable(airdropAddress).call{ value: airdropShare }("");
require(sentAirdrop, "Airdrop transfer failed");

emit BuyTokens(msg.sender, msg.value, amount);
}

function lockedBalanceOf(address account) public view returns (uint256) {
LockInfo[] memory locks = _locks[account];

uint256 lockedAmount = 0;

for (uint256 i = 0; i < locks.length; i++) {
if (block.timestamp < locks[i].releaseTime) {
lockedAmount += locks[i].amount;
}
}

return lockedAmount;
}

function transfer(address recipient, uint256 amount) public override returns (bool) {
uint256 locked = lockedBalanceOf(msg.sender);
uint256 totalBal = balanceOf(msg.sender);

require(totalBal - locked >= amount, "Some tokens are locked");

return super.transfer(recipient, amount);
}

function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
uint256 locked = lockedBalanceOf(sender);
uint256 totalBal = balanceOf(sender);

require(totalBal - locked >= amount, "Some tokens are locked");

return super.transferFrom(sender, recipient, amount);
}

function withdrawLiquidity(uint256 amount) external onlyOwner {
payable(owner()).transfer(amount);
}

receive() external payable {}
}

Contract capabilities include:

  • mint-on-demand

  • 14-day locking

  • automatic liquidity release

  • TRX distribution logic (90/7/3)

  • transparent buy mechanism

Simplified Token Flow Diagram

1
2
3
4
5
6

User buys at fixed rate: 1 TRX = 1 4TEEN

Tokens minted instantly

Tokens locked for 14 days

TRX releases into liquidity daily

Liquidity grows → token price strengthens

Tokens unlock → user exits with improved conditions

Purchase → Mint → 14-Day Lock → Daily Liquidity → Unlock → Profit

Why Early Holders Benefit

  • They mint tokens earlier

  • Their tokens unlock earlier in a rapidly growing liquidity environment

  • New buyers constantly reinforce older cycles

  • Daily liquidity adds continuous upward pressure

  • Early cycles align with the strongest liquidity growth

Where Fast Decisions Pay.