Tokenomics of the $ASX Token

Through the use of a 4% sell tax/reflection, 4 buckets are funded. There is no buy tax.

  1. Flagship Fund Growth: 1% of all token sales will be converted to $USDC and utilized to grow the Flagship Fund.

  2. Liquidity Growth: 1% of all token sales will be used to grow $ASX token liquidity.

  3. Holder Reflection: 1% of token sales will be converted to $USDC and distributed to holders of $ASX token.

  4. Operating Account: 1% of token sales will be converted to $USDC and distributed to the company operating account to fund growth.

Contract excerpt for Tokenomics/Tax:

contract ASX is ERC20, Ownable2Step {
    using SafeMath for uint256;

    uint256 public RewardTokenFee = 1;
    uint256 public liquidityFee = 1;
    uint256 public marketingFee = 2;
    uint256 public totalFees = RewardTokenFee.add(liquidityFee).add(marketingFee);

    bool public swapEnabled = true;
    bool public taxEnabled = true;

    mapping (address => bool) private _isExcludedFromFees;

    event RewardTokenFeeUpdated(uint256 indexed newRewardTokenFee);
    event LiquidityFeeUpdated(uint256 indexed newLiquidityFee);
    event MarketingFeeUpdated(uint256 indexed newMarketingFee);
    event SwapEnabled(bool enabled);
    event TaxEnabled(bool enabled);

    function setRewardTokenFee(uint256 value) external onlyOwner {
        RewardTokenFee = value;
        totalFees = RewardTokenFee.add(liquidityFee).add(marketingFee);
        emit RewardTokenFeeUpdated(value);

    function setLiquidityFee(uint256 value) external onlyOwner {
        liquidityFee = value;
        totalFees = RewardTokenFee.add(liquidityFee).add(marketingFee);
        emit LiquidityFeeUpdated(value);

    function setMarketingFee(uint256 value) external onlyOwner {
        marketingFee = value;
        totalFees = RewardTokenFee.add(liquidityFee).add(marketingFee);
        emit MarketingFeeUpdated(value);

    function setSwapEnabled(bool _enabled) external onlyOwner {
        swapEnabled = _enabled;
        emit SwapEnabled(_enabled);

    function setTaxEnabled(bool _enabled) external onlyOwner {
        taxEnabled = _enabled;
        emit TaxEnabled(_enabled);

    function excludeFromFees(address account, bool excluded) public onlyOwner {
        _isExcludedFromFees[account] = excluded;
        emit ExcludeFromFees(account, excluded);

    // This function handles the transfer and applies tax if applicable
    function _transfer(address from, address to, uint256 amount) internal override {
        bool takeFee = !swapping && taxEnabled && !automatedMarketMakerPairs[from] && !_isExcludedFromFees[from] && !_isExcludedFromFees[to];

        if(takeFee) {
        	uint256 fees = amount.mul(totalFees).div(100);
        	amount = amount.sub(fees);
            super._transfer(from, address(this), fees);

        super._transfer(from, to, amount);

Last updated