Tectonic Docs
Documentation

How Tectonic works.

Tectonic is an ERC-20 memecoin on a Uniswap v4 hooked pool. Every wallet has a personalised sell tax — the more of your TECT you stake, the lower your tax falls. This page explains every moving part in plain English.

Chain Ethereum mainnet Supply 100,000,000 TECT Launch FDV $10,000 Upgradability None

Overview

TECT is a plain ERC-20 token. There is no mint function, no admin key, no proxy, and no pause. The total supply of 100,000,000 TECT is minted once at deployment and placed into a Uniswap v4 liquidity pool, which is then locked forever.

The v4 pool uses a custom hook contract that runs a small piece of logic on every swap. That hook does two things:

  • Collects a flat 1% fee on every swap (buy or sell) into the treasury.
  • On sells only, collects a personalised sell tax (between 0.3% and 8%) into a reward pool for stakers.

That's the entire mechanic. The rest of this document is details.

How it works

Three actors

RoleLatin nameWhat they do
Stakers CIVES (citizens) Lock their TECT in the staking contract. Their personal sell tax drops toward zero and they earn rewards (TECT and WETH — see below) from every sell someone else makes.
Sellers BARBARI (outsiders) Sell without staking. They pay between 0.3% and 8% of their trade to the staker reward pool — paid in TECT if they specified an exact input, or WETH if they specified an exact output.
Treasury SENATVS (the senate) A plain EOA wallet that receives the flat 1% fee on every swap. Has no authority over the contracts.

The key word is personalised. Your sell tax depends on your own stake ratio, not on anyone else's behaviour. You control it entirely by how much of your TECT you choose to lock.

Why Uniswap v4?

A classical ERC-20 tax token uses a _transfer override, which can't tell routers, LP adds, and aggregator paths apart — so it taxes everything indiscriminately. A v4 beforeSwap hook runs only on swaps, has access to the sender address, and can compute any logic we want. That's the layer where a personalised per-wallet tax becomes cleanly expressible.

Staking

What you do

  1. Approve the staking contract to spend your TECT.
  2. Call stake(amount). Your tokens move from your wallet into the contract.
  3. Your sell tax drops immediately, proportional to how much of your total TECT is now staked.
  4. As other people sell, rewards accrue in two independent accumulators — one for WETH (exact-output sells) and one for TECT (exact-input sells). Call claim() for WETH and claimTect() for TECT at any time.

The 7-day cooldown

When you want to unstake, you first call requestUnstake(amount). The tokens are then in a 7-day cooldown. After 7 days you call unstake() and they return to your wallet.

Important: while tokens are in cooldown, they count toward your wallet balance, not your staked balance, for the purpose of computing your sell tax. This is the anti-flashstake mechanism — it prevents someone from staking one block before a sell to lower their tax and unstaking the next block.

The reward formula

Rewards use the Synthetix rewards-accumulator pattern. There is one global rewardPerShare value that increases every time someone sells. Your claimable balance is:

earned(you) = stakedBalance × (rewardPerShare − rewardPerSharePaid[you]) / 1e18

This is O(1) — claiming doesn't iterate over anyone else, and your gas cost doesn't grow with the number of stakers.

Sell tax curve

Your personal sell tax is a linear interpolation between an 8% base (wallet only, no stake) and a 0.3% floor (fully staked).

Personal sell tax vs. stake ratio Line chart: x-axis is stake ratio 0 to 100 percent, y-axis is sell tax 0 to 8 percent. Line drops from 8 percent at zero stake to 0.3 percent at full stake. 8% 6% 4% 2% 0% 0% 25% 50% 75% 100% STAKE RATIO → SELL TAX → 8% — no stake 0.3% — fully staked

Example ladder

If your wallet + staked balance sums to 1,000 TECT:

0 staked · 1000 wallet8.00%no stake
250 staked · 750 wallet6.08%25% staked
500 staked · 500 wallet4.15%50% staked
750 staked · 250 wallet2.23%75% staked
999 staked · 1 wallet0.31%fully staked

The formula

stakePercent = stakedBalance / (stakedBalance + walletBalance)
sellTaxBps   = 30 + (800 − 30) × (1 − stakePercent)
             = 30 + 770 × (1 − stakePercent)

Where 30 basis points = 0.30% and 800 basis points = 8.00%. The hook reads your stake ratio at the exact moment of the swap and applies this formula.

The 1% SPQR fee

Separate from the sell tax, there is a flat 1% fee on every swap — buys and sells alike. It funds the treasury, which is a plain EOA controlled by the project. The treasury uses these funds for audits, hosting, domains, memes, and ongoing ops.

The name "SPQR" is drawn from the Roman senate motto (Senātus Populusque Rōmānus, "the senate and the people of Rome"). It's branding. The mechanic is: 1% of every swap → treasury EOA.

Buys are only taxed 1%

Buyers pay just the 1% SPQR fee. There is no sell tax on buys. The 0.3%–8% personalised tax applies only when you sell TECT for WETH.

Aggregator warning

Route swaps through the Tectonic app, not 1inch / CoW / UniswapX

The hook needs to see your address to compute your personalised sell tax. When you swap through the Tectonic app's AGORA tab, the hook gets your address and prices you at your real stake ratio.

When you swap through an external aggregator, the hook sees the aggregator's executor contract instead of you. It cannot look up your stake ratio, so it falls back to treating you as unstaked — full 8% BARBARI + 1% SPQR = 9% total sell tax.

This is a feature, not a bug. It keeps volume on the hook pool where personalised pricing is honoured, and makes aggregator-routed selling painful enough that people route through the app instead.

Tokenomics

Constants

Total supply100,000,000 TECT · fixed · no mint function
Decimals18
Launch FDV$10,000 · initial tick ≈ $0.0001 / TECT
Flat 1% feeEvery swap · both directions · forever · to treasury
Sell tax8% base · 0.3% floor · scales by stake ratio · to stakers
Unstake cooldown7 days · cooling tokens count as wallet
Reward currencyTECT + WETH · dual-track O(1) accumulators · claim() / claimTect()
TreasuryPlain EOA · receives fees only · no contract authority
Admin key / proxy / pauseNone

Launch LP — four concentrated zones

All 100M TECT is seeded as single-sided liquidity (only TECT, no WETH). Buyers provide the WETH by trading into the pool. The LP position NFT is transferred to 0x000…dEaD immediately after seeding — the liquidity is locked forever.

Price rangeTECT seeded% of supply
1× → 3× launch FDV30,000,00030%
3× → 10× launch FDV30,000,00030%
10× → 100× launch FDV25,000,00025%
100× → 1000× launch FDV15,000,00015%

As the price climbs through each zone, more tokens become available. Early buyers get the cheapest ticks; sustained price appreciation unlocks deeper liquidity without needing any LP management.

Launch sequence

We publish the full launch sequence so nothing is skipped or quietly bypassed.

  1. Contract freeze done

    Final source code; full test suite green; invariants documented.

  2. Deploy scripts done

    Foundry deploy scripts for Sepolia and mainnet; hook address mined with HookMiner.

  3. Internal review done

    Friend-of-project Solidity review; hand-computed accumulator math.

  4. Sepolia smoke test done

    Live testnet deploy of the audited v2 contracts; on-chain stake → BARBARI arrival → syncRewards()claimTect() cycle verified.

  5. Public audit contest pending

    Code4rena competitive audit. Bounty funded from anticipated treasury revenue.

  6. Address findings pending

    All critical and high findings resolved; re-attestation signed.

  7. Mainnet deploy pending

    Hardware wallet signer; Foundry broadcast; contracts verified on Etherscan.

  8. Pool initialisation pending

    (TECT, WETH) v4 pool created with Tectonic hook attached. Price set to $0.0001.

  9. LP seed pending

    Four concentrated single-sided positions; 30/30/25/15M TECT across zones.

  10. Burn LP NFT pending

    The LP position NFT is transferred to 0x000…dEaD. Permanent.

  11. Public launch pending

    Announcement; dex screener listing; first trades go through the pool.

Contract addresses

Contracts are not yet deployed to mainnet. Addresses will appear here after launch.

TECT (ERC-20)pending — post-launch
TectonicStakingpending — post-launch
TectonicHookpending — post-launch
TectonicRouterpending — post-launch
Treasury (EOA)pending — post-launch
v4 pool keypending — post-launch

Frequently asked questions

Is this a rugpull?

No. All 100M TECT are minted into four concentrated v4 LP positions at deploy, and the LP position NFT is then transferred to the dead address. There is no mint function, no proxy, no admin, and no pause.

The treasury is a plain EOA that only receives the 1% fee — it has no authority over the token, the hook, or the staking contract.

Why Uniswap v4 and not a simpler ERC-20 tax token?

A v4 beforeSwap hook runs arbitrary logic at the moment of a swap — the only point at which a personalised sell tax can be computed cleanly. A classical ERC-20 _transfer override cannot distinguish routers, LP adds, or aggregator paths, so it taxes every transfer indiscriminately. The hook approach is surgical.

What happens if I route through 1inch, CoW, or UniswapX?

The hook sees the aggregator's executor contract as the sender, so it cannot look up your stake ratio. It prices you as fully-unstaked and applies the full 8% sell tax + 1% fee = 9% total.

Route through the AGORA tab in the Tectonic app to preserve your personalised pricing.

What is the cooldown for?

It's an anti-flashstake mechanism. Without a cooldown, someone could stake one block before a sell (to lower their tax) and unstake the next block. The 7-day cooldown makes that unprofitable.

Tokens in cooldown count as wallet balance, not staked balance, while they cool down. So your sell tax temporarily returns to the higher rate if you have an active cooldown.

What currency are rewards paid in?

Both TECT and WETH — one accumulator for each. Which one a given sell funds depends on how the seller routed their swap:

  • Exact-input sell (seller specifies how much TECT they're sending in): the hook extracts the 8% BARBARI tax in TECT, so that sell funds the TECT accumulator.
  • Exact-output sell (seller specifies how much WETH they want out): the hook extracts the tax in WETH, funding the WETH accumulator.

Once the hook has called poolManager.take(...) to pull the tax into the staking contract, it calls staking.syncRewards() to fold whichever currency just arrived into the matching accumulator. Stakers then call claim() for WETH or claimTect() for TECT — both are O(1) and never iterate over other stakers.

The 1% SPQR fee always goes straight to the treasury EOA in whichever currency the sell was specified in (treasury can unwrap / swap off-chain).

Can I still lose money?

Absolutely. This is a memecoin. The price of TECT is whatever the market decides. If nobody sells, nobody earns rewards. If volume dies, so does the project.

Stake only what you can afford to have locked and possibly lose entirely. This site and its contracts are entertainment and economic experiment. The contracts are real; the outcome is uncertain.

Who controls the treasury?

The treasury is a plain EOA (externally-owned account) controlled by the project operator. In v1, governance is deliberately simple — there is no on-chain voting. Treasury funds go toward audits, infrastructure, domains, and ops.

A multisig may eventually replace the EOA. That is a social promise, not a contractual one. Hold only if you're comfortable with that.

Why the Roman branding?

Two reasons. First, it's memorable — memecoins live and die on identity. Second, the mechanic genuinely fits the narrative: there are two classes (those who swear the oath and those who don't), the loyalists receive a share of what the others pay, and nothing can be changed once deployed.

Everywhere you see Latin on the marketing site, there's a plain-English explanation here in the docs. The glossary below is the full translation list.

Glossary (Latin → English)

All of these are branding terms. None of them affect the mechanics — they're just names.

CIVIS / CIVES (singular / plural)
"Citizen" / "citizens". A staker — someone who has locked TECT in the staking contract.
BARBARVS / BARBARI
"Outsider" / "outsiders". A seller who has not staked. Pays the full 8% sell tax.
FORVM
"The forum". The staking contract interface — where you stake and unstake.
TEMPLVM
"The temple". The reward pool where sell taxes accumulate for stakers to claim.
SENATVS
"The senate". The treasury EOA that receives the flat 1% fee.
AGORA
"The marketplace". The in-app swap tab — always route swaps here, not through external aggregators.
SPQR
"Senātus Populusque Rōmānus". Used as the brand name for the flat 1% treasury fee.
AQUILA
"Eagle". The Roman legion standard. Used as the brand mark.
TRIBVTVM
"Tribute / tax". Refers to the sell tax.
CONGIARIVM
"Imperial gift to loyal subjects". Used poetically for staker reward payouts.
Pax Tectonica
"Tectonic peace", modelled on Pax Romana. The state of things after launch.
Stake aut mori
"Stake or die". The slogan — stake your TECT or pay the 8% sell tax. Not literal.
MMXXVI
Roman numeral for 2026 — the year of launch.

Risks & disclaimer

  • Smart contract risk. Even audited contracts can contain bugs. Multiple audits and a public contest are planned pre-launch, but no audit is a guarantee.
  • Market risk. TECT is a memecoin. The price can and will fluctuate, and it can go to zero. Do not hold more than you're comfortable losing entirely.
  • Liquidity risk. If volume dries up, staker rewards (which come from sell tax) dry up with it.
  • Aggregator misrouting. If you forget and route through 1inch / CoW / UniswapX, you pay the full 9% sell tax instead of your personalised rate. There is no way to recover the difference.
  • Treasury trust. The 1% fee is received by a plain EOA. The operator can spend it on anything; there is no on-chain vote. This is a social, not a contractual, promise.
  • Regulatory risk. This is not investment advice, not a security, not a pooled-investment vehicle. Jurisdictions vary; check your own.
Tectonic is entertainment and economic experiment. The contracts are real. The outcome is not guaranteed.
↑ Back to top