Gas & PANO Token

PANO Token Overview

PANO is the native gas token of Panoptis Chain, serving as the fundamental currency for transaction fees, network security, and governance participation.

Native Currency: PANO functions as the native cryptocurrency of Panoptis Chain, similar to how ETH functions on Ethereum.

Token Economics

Core Functions

FunctionDescription
Gas PaymentsAll transactions require PANO for execution fees
Validator StakingNetwork security through PANO staking
GovernanceProtocol decisions via PANO-weighted voting
Block RewardsValidator and delegator incentives

Supply Mechanics

Total Supply: Dynamic (based on staking rewards and fees)
Precision: 18 decimals
Symbol: PANO
Network: Panoptis Chain

Distribution Model

  • Staking Rewards: Incentivize network security
  • Transaction Fees: Gas fee redistribution to validators
  • Governance Rewards: Participation incentives
  • Developer Grants: Ecosystem development funding

Gas Mechanics

Key Concepts

Gas

A unit of measurement representing computational work required to execute operations on Panoptis Chain.

Gas Price

The amount of PANO paid per unit of gas, set by users to prioritize transactions.

Gas Limit

The maximum amount of gas a user is willing to spend on a transaction.

Base Fee

The minimum fee per gas unit, automatically adjusted based on network congestion (EIP-1559).

Priority Fee

Additional fee paid to validators for faster transaction processing.

Gas Calculation

Total Fee = (Base Fee + Priority Fee) × Gas Used

Example:

Base Fee: 10 gwei
Priority Fee: 2 gwei  
Gas Used: 21,000
Total Fee = (10 + 2) × 21,000 = 252,000 gwei = 0.000252 PANO

Transaction Types & Gas Costs

Standard Operations

OperationTypical Gas CostPANO Cost (estimate)
Simple Transfer21,000~0.0003 PANO
ERC-20 Transfer65,000~0.001 PANO
Smart Contract Deploy200,000-500,000~0.003-0.008 PANO
DeFi Swap150,000-300,000~0.002-0.005 PANO
NFT Mint100,000-200,000~0.0015-0.003 PANO

Dynamic Pricing: Actual costs vary based on network congestion and gas price settings.

Gas Optimization

Smart Contract Level

// ✅ Optimized: Packed struct
struct OptimizedData {
    uint128 amount;     // 16 bytes
    uint64 timestamp;   // 8 bytes
    uint32 id;          // 4 bytes
    bool active;        // 1 byte -> 1 storage slot
}
 
// ❌ Unoptimized: Multiple slots
struct UnoptimizedData {
    uint256 amount;     // 32 bytes -> 1 slot
    uint256 timestamp;  // 32 bytes -> 1 slot  
    uint256 id;         // 32 bytes -> 1 slot
    bool active;        // 32 bytes -> 1 slot
}

Batch Operations

// Gas-efficient batch processing
function batchTransfer(
    address[] calldata recipients,
    uint256[] calldata amounts
) external {
    require(recipients.length == amounts.length, "Length mismatch");
    
    for (uint i = 0; i < recipients.length; i++) {
        _transfer(msg.sender, recipients[i], amounts[i]);
    }
}

Gas Strategies

1. Transaction Timing

// Monitor gas prices
async function getOptimalGasPrice() {
  const feeData = await provider.getFeeData();
  
  return {
    maxFeePerGas: feeData.maxFeePerGas,
    maxPriorityFeePerGas: feeData.maxPriorityFeePerGas,
    gasPrice: feeData.gasPrice
  };
}
 
// Set gas parameters
const transaction = {
  to: recipientAddress,
  value: ethers.parseEther("1.0"),
  maxFeePerGas: feeData.maxFeePerGas,
  maxPriorityFeePerGas: feeData.maxPriorityFeePerGas,
  gasLimit: 21000
};

2. Gas Estimation

// Estimate gas before sending
async function estimateTransactionCost(transaction) {
  const gasEstimate = await provider.estimateGas(transaction);
  const feeData = await provider.getFeeData();
  
  const totalCost = gasEstimate * feeData.gasPrice;
  
  console.log(`Estimated gas: ${gasEstimate.toString()}`);
  console.log(`Estimated cost: ${ethers.formatEther(totalCost)} PANO`);
  
  return { gasEstimate, totalCost };
}

3. Fee Optimization

// Dynamic fee adjustment
function calculateOptimalFee(networkCongestion) {
  const baseFee = getBaseFee();
  
  if (networkCongestion === 'low') {
    return baseFee + ethers.parseUnits('1', 'gwei'); // Minimal priority
  } else if (networkCongestion === 'high') {
    return baseFee + ethers.parseUnits('10', 'gwei'); // Higher priority
  }
  
  return baseFee + ethers.parseUnits('5', 'gwei'); // Standard priority
}

PANO Token Management

Acquiring PANO

Faucet (Testnet)

# Get testnet PANO
curl -X POST https://faucet.panoptis.chain/api/faucet \
  -H "Content-Type: application/json" \
  -d '{"address": "YOUR_ADDRESS"}'

Bridge from Other Networks

// Example bridge integration
async function bridgeToPartipos(amount, fromChain) {
  const bridgeContract = new ethers.Contract(
    BRIDGE_ADDRESS,
    BRIDGE_ABI,
    signer
  );
  
  const tx = await bridgeContract.deposit(amount, {
    value: amount // If bridging ETH
  });
  
  await tx.wait(1); // Fast confirmation on Panoptis
  console.log('Bridge transaction confirmed');
}

Balance Management

Check PANO Balance

// Get PANO balance
async function getPANOBalance(address) {
  const balance = await provider.getBalance(address);
  return ethers.formatEther(balance);
}
 
// Monitor balance changes
provider.on('block', async (blockNumber) => {
  const balance = await getPANOBalance(userAddress);
  console.log(`Block ${blockNumber}: Balance ${balance} PANO`);
});

Transaction Fee Calculation

async function calculateTransactionFee() {
  const feeData = await provider.getFeeData();
  const gasLimit = 21000; // For simple transfer
  
  const maxFee = feeData.maxFeePerGas * BigInt(gasLimit);
  const expectedFee = feeData.gasPrice * BigInt(gasLimit);
  
  return {
    maxFee: ethers.formatEther(maxFee),
    expectedFee: ethers.formatEther(expectedFee)
  };
}

Network Economics

Validator Economics

Staking Rewards

  • Annual Percentage Rate (APR): Varies based on total staked amount
  • Reward Distribution: Proportional to stake and performance
  • Compound Growth: Rewards can be restaked automatically

Slashing Conditions

Downtime Slashing: 0.01% of stake
Byzantine Behavior: 5% of stake
Double Signing: 5% of stake

Fee Distribution

Transaction Fee Breakdown:
├── Base Fee: Burned (deflationary pressure)
├── Priority Fee: To validators (performance incentive)
└── Network Fund: Protocol development (small %)

Governance Participation

Voting Power

// Calculate voting power
function calculateVotingPower(stakedAmount, totalStaked) {
  return (stakedAmount / totalStaked) * 100;
}
 
// Example
const userStake = ethers.parseEther("1000"); // 1,000 PANO
const totalStake = ethers.parseEther("10000000"); // 10M PANO
const votingPower = calculateVotingPower(userStake, totalStake);
console.log(`Voting power: ${votingPower}%`);

Proposal Submission

  • Minimum Stake: Required PANO to submit proposals
  • Voting Period: Duration for community voting
  • Execution Delay: Time before approved proposals execute

Gas Price Optimization Tools

1. Gas Price APIs

// External gas price service integration
async function getGasPriceRecommendation() {
  try {
    const response = await fetch('https://api.panoptis.chain/gas-prices');
    const data = await response.json();
    
    return {
      slow: data.slow,
      standard: data.standard,
      fast: data.fast,
      instant: data.instant
    };
  } catch (error) {
    // Fallback to provider
    return await provider.getFeeData();
  }
}

2. Transaction Monitoring

// Monitor transaction status and costs
async function monitorTransaction(txHash) {
  const tx = await provider.getTransaction(txHash);
  console.log(`Gas Limit: ${tx.gasLimit}`);
  console.log(`Gas Price: ${ethers.formatUnits(tx.gasPrice, 'gwei')} gwei`);
  
  const receipt = await tx.wait();
  console.log(`Gas Used: ${receipt.gasUsed}`);
  
  const actualCost = receipt.gasUsed * tx.gasPrice;
  console.log(`Total Cost: ${ethers.formatEther(actualCost)} PANO`);
  
  return {
    gasUsed: receipt.gasUsed,
    gasPrice: tx.gasPrice,
    totalCost: actualCost
  };
}

Best Practices

Gas Efficiency

  1. Batch Operations: Combine multiple actions into single transaction
  2. Storage Optimization: Pack data structures efficiently
  3. Event Usage: Use events instead of storage for historical data
  4. Loop Optimization: Cache array lengths, use unchecked math where safe

PANO Management

  1. Buffer Maintenance: Keep extra PANO for unexpected gas costs
  2. Fee Monitoring: Track gas prices and adjust accordingly
  3. Batch Transactions: Group operations to reduce total fees
  4. Strategic Timing: Execute during low-congestion periods

Security Considerations

  1. Gas Limit Safety: Set appropriate limits to prevent failures
  2. Fee Validation: Verify gas prices before important transactions
  3. Balance Checks: Ensure sufficient PANO before operations
  4. Slippage Protection: Account for gas price volatility

Understanding gas mechanics and PANO token economics is crucial for efficient operation on Panoptis Chain. The network's fast finality and optimized architecture provide predictable costs and excellent user experience.