Skip to content

TareToken

ERC-20 stablecoin (TARE) minted exclusively by authorized minters — primarily TareEngine. Thin snekmate wrapper; no custom transfer logic.

Source: TARE-Stablecoin/src/tare_token.vy (Vyper 0.4.3)

Sepolia deployment: 0x94528C7e57D55251325548d685Bf73ae56547a5Faddress book

Concept guide: TARE hub

Implementation overview

  • Standard ERC-20 via snekmate erc20 module (NAME, SYMBOL, DECIMALS = 18, EIP-712 permit).
  • Mint/burn gatedmint and burn_from only callable by addresses with minter role (set_minter).
  • Ownership — snekmate ownable; TareEngine holds ownership and grants minter to itself, PegKeeper, and successor engines on migration.

Init

@deploy
def __init__():
    ow.__init__()
    erc20.__init__(NAME, SYMBOL, DECIMALS, NAME, EIP_712_VERSION)

No constructor args. Engine deployment script sets engine as owner/minter post-deploy.

FLYWHEEL-specific surface

These are the non-generic exports beyond standard transfer / approve / balanceOf:

Function Who calls Purpose
mint(to, amount) Authorized minters Issue TARE (engine on borrow, engine on fee accrual to surplus)
burn_from(owner, amount) Authorized minters Burn TARE (repay, liquidation, bad-debt retirement)
set_minter(minter, status) Owner Grant/revoke minter (engine, PegKeeper, migrated engine)
transfer_ownership(new_owner) Owner Hand ownership (e.g. migrate_tare_ownership)

Minter wiring in flywheel:

flowchart LR
    Owner[TareEngine owner] --> Token[TareToken]
    Engine[TareEngine] -->|minter| Token
    PK[PegKeeper] -->|minter via set_peg_keeper| Token
    Engine -->|mint/burn_from| Token
  • TareEngine — primary minter for CDP mint/burn, stability-fee mint to surplus.
  • PegKeeper — minter for peg-defense mint/burn within its debt ceiling (set_peg_keeper).
  • Successor engine — receives ownership + minter on migrate_tare_ownership.

Trust model

Property Behavior
Supply inflation Only minters can mint; engine owner controls minter set
User burns burn_from requires allowance (repay/liquidation paths)
Rebasing / hooks Plain ERC-20 — no fee-on-transfer, no rebasing
Admin keys owner can add/remove minters and transfer ownership — not arbitrary balance edits

Not a governance token

TARE is the stablecoin unit of account. Vote-escrow governance uses the same token but via VotingEscrow — separate contract.

Standard ERC-20 surface

Full IERC20 + IERC20Detailed + EIP-2612 permit re-exported from snekmate. For transfer, approve, permit, balanceOf, totalSupply, decimals, etc. see: