Skip to main content

FRT Smart Contract Documentation

Version: 1.1
Last Updated: January 2026

Overview

This document provides comprehensive technical documentation for the FortisArena smart contract ecosystem, consisting of three core contracts:
  • FortisToken.sol: The main FRT token contract (BEP-20)
  • TokenVesting.sol: Vesting contract for token locks
  • FRTStaking.sol: Staking contract for rewards
All contracts are written in Solidity ^0.8.20 and use OpenZeppelin v5 libraries.

Architecture Overview

Contract Summary

1. FortisToken Contract

Basic Information

Security Features

Key Functions

Launch Configuration (MUST call before trading)

Configures the DEX router and pair addresses. Automatically:
  • Excludes router from limits and maxWallet
  • Sets pair as AMM pair
  • Excludes pair from limits and maxWallet
  • Sets launchConfigured = true

Trading Control

Enables public trading. Requirements:
  • Can only be called once
  • launchConfigured must be true
  • Cannot be disabled once enabled

Anti-Sniper Configuration

Sets anti-sniper duration (3-5 blocks). Can only be called before trading is enabled.

Limit Controls (One-Way)

Permanently disable protection features. Cannot be re-enabled.

Address Management

Emergency Functions

Owner Capabilities

Owner Restrictions (What Owner CANNOT Do)

Custom Errors

2. TokenVesting Contract

Purpose

Locks tokens with configurable cliff periods and linear vesting. Used for team, advisor, and presale token locks.

Features

Vesting Categories

Key Functions

Create Vesting Schedule

Release Tokens

View Functions

3. FRTStaking Contract

Purpose

Allows FRT holders to stake tokens to unlock platform features and access tiers. Staking provides utility benefits, not financial returns.

Access Tiers

Features

Key Functions

Staking

View Functions

Admin Functions

4. Deployment Guide

Prerequisites

Deployment Order

  1. Deploy FortisToken: FortisToken.deploy(ownerAddress)
  2. Deploy TokenVesting: TokenVesting.deploy(frt.address, ownerAddress)
  3. Deploy FRTStaking: FRTStaking.deploy(frt.address, ownerAddress)

Launch Sequence

5. Security Recommendations

  • Audit: Get professional audit before mainnet deployment
  • Multi-Sig: Transfer ownership to Gnosis Safe multi-sig
  • Timelock: Consider adding timelock for major operations
  • Testnet: Thoroughly test on BSC Testnet first
  • Verification: Verify all contracts on BscScan

6. License

All contracts are released under the MIT License.
FortisArena - Building the Future of Competitive Gaming