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: 0x94528C7e57D55251325548d685Bf73ae56547a5F — address book
Concept guide: TARE hub
Implementation overview¶
- Standard ERC-20 via snekmate
erc20module (NAME,SYMBOL,DECIMALS= 18, EIP-712 permit). - Mint/burn gated —
mintandburn_fromonly 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¶
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:
- snekmate erc20 module
- OpenZeppelin-equivalent ERC-20 behavior (no custom hooks)
Cross-links¶
- TareEngine API — all CDP mint/burn paths
- PegKeeper API — peg mint/burn
- sTARE API — savings vault over TARE
- VotingEscrow API — governance lock