{
"badges": [],
"description": "Frankencoin is an oracle-free stablecoin protocol issuing ZCHF, a token tracking the Swiss franc. All contracts are immutable and configs are dao-governed: ZCHF supply is controlled only by minter modules that anyone can propose and that qualified FPS pool share holders (2% of time-weighted votes) can veto during a public application period. All protocol fees and interest accrue to an equity reserve that anyone can invest in by minting FPS shares, and that absorbs losses before ZCHF holders are affected. Collateralized minting is policed by permissionless auctions instead of price oracles, and savers earn a governance-set rate directly or through the immutable svZCHF vault.",
"detailedDescription": "Frankencoin issues ZCHF, an overcollateralized stablecoin tracking the Swiss franc. All contracts are immutable. Every privileged action is either permissionless or requires 2% of the time-weighted votes of FPS pool share holders, followed by a public delay.\n\nThis review covers the Ethereum deployment only. Frankencoin also runs bridged ZCHF, savings, and governance contracts on several other chains via Chainlink CCIP; anything that goes wrong there can reach Ethereum through the rate-limited CCIP token pool.\n\n### Minters\n\nThe ZCHF token has one central permission: registered *minter* modules can mint and burn without restriction. Anyone can apply to add a minter by paying a fee of at least 1,000 ZCHF; the application passes unless a qualified FPS holder vetoes it within the application period (at least 14 days). An unvetoed minter is **irrevocable**, so the system's key trust assumption is that qualified FPS holders review every application in time. All current minters are immutable contracts whose minting is bounded by their code: the minting hubs (collateral plus auctions), the savings modules (accrued interest only), the stablecoin bridges (1:1 against escrowed CHF stablecoins, capped and expiring), the CCIP token pool (interop, rate-limited), and two helpers that cannot mint freely.\n\nNot all registered minters are still in active use. Actively minting are MintingHubV2 (with the PositionRoller), the Savings module, the CHFAU stablecoin bridge, and the CCIP token pool with its BridgeAccounting. The XCHF and VCHF bridges have passed their minting horizon and can only redeem, MintingHubV1 is deprecated with no open positions remaining, and the original SavingsV2 module has been superseded for savers but still sets the leadrate positions pay.\n\nThe same optimistic proposal pattern — apply onchain, pay a fee, go live unless vetoed by FPS holders — repeats throughout the system, with stakes scaled to the risk: minters (arbitrary code, at least 14 days and 1,000 ZCHF), individual minting positions (only parameters of already-approved code like different collaterals, at least 3 days and 1,000 ZCHF), and position clones (same collateral and limit, instant and free).\n\n### Opening a minting position\n\nAnyone can open a position on the MintingHub by depositing an arbitrary ERC20 collateral, declaring their own liquidation price (there is no oracle), and paying the 1,000 ZCHF fee. Nothing is minted yet: the position first sits through a public review period of at least 3 days in which qualified FPS holders can veto it. Only afterwards can the owner mint ZCHF up to the collateral value at the declared price, receiving it minus a reserve contribution chosen per position (at least the 2% challenger reward, in practice 10-40%; reclaimable on repayment) and minus interest, which is prepaid to the position's expiration at the leadrate (currently 1%) plus a fixed risk premium — so rate changes only affect future minting. Live positions can be cloned by anyone, instantly and for free: clones inherit all parameters, draw from the original's approved minting limit, and expire no later than it.\n\n### Liquidations (challenges)\n\nThere are no oracle-triggered liquidations: a liquidation is a successful challenge. Anyone who considers a position's **declared price** too high can post the same collateral to start an auction, freezing the position's minting. If a buyer pays the **declared price** for the challenger's collateral, the challenge is averted (the challenger has sold at or below market, which makes frivolous challenges costly). If nobody does, the position's collateral is sold at the true market price (discovered via dutch auction), the challenger earns 2%, and any shortfall is covered by the owner's reserve contribution and then the equity reserve. Expired positions are wound down by a permissionless forced sale.\n\n### Peg\n\nThe CHF peg is held by arbitrage: the stablecoin 'bridges' (or rather stability modules) give a hard 1:1 anchor within their caps, and position owners expand or repay ZCHF debt as the market price deviates. Losses are absorbed first by the equity reserve owned by FPS holders, keeping ZCHF whole as long as equity lasts.\n\n### The equity reserve\n\nThe equity reserve is funded by everything the protocol earns: FPS investments, the prepaid interest and opening fees from minting positions, minter application fees (kept even when the minter is vetoed), reserve contributions forfeited by liquidated positions, and profits settled back from bridged deployments. Its outflows are savings interest, FPS redemptions, and covering losses. FPS holders thus collect all protocol income in exchange for standing first in line for every loss. There are no dividends: the FPS price is a live formula, `3 × equity / totalSupply`, so every profit and loss shows up directly in the share price, and holders realize it by redeeming FPS for ZCHF at that price (after the 3 months minimum holding).\n\n### Governance\n\nFPS is minted and redeemed permissionlessly against ZCHF at a formula price (3x underlying equity per share, 3 months minimum holding). Voting power is balance multiplied by holding time, favoring long-term holders. Qualified holders (2% of votes) can only: veto minter applications and new minting positions, propose interest rates (7-day delay), govern the cross-chain pool configuration (7 to 21-day timelocks), and restructure the cap table if equity falls below 1,000 ZCHF. They cannot touch user funds, pause the system, or change any deployed code.\n\n### Delays and mint exposure\n\nEvery way of expanding the ZCHF supply is listed below with its minimum delay — the window in which any qualified FPS holder can veto — and the worst case if it goes through unchecked. Rows marked with * additionally require 2% of FPS votes to initiate.\n\n| Action / attack path | Delay | Max unbacked ZCHF if exploited |\n| --- | --- | --- |\n| Register new minter | 14 days | Unlimited, irrevocable |\n| CCIP admin transfer* | 21 days | Unlimited |\n| CCIP config* | 7 days | Unlimited (new rate limits) |\n| Interest rate* | 7 days | Continuous drain of the equity reserve |\n| New minting position | 3 days | The position's own minting cap policed by challenge auctions |\n| Clone minting position | none | The active parent position's remaining minting cap |\n| CCIP offramp compromise | none | Bounded by per-chain rate limits |\n| Compromised 1:1 CHF stablecoin | none | The remaining minting cap of that bridge |\n\nLosses are absorbed by the equity reserve and then the minter reserve before ZCHF holders are diluted by unbacked supply.\n\n### Savings and the savings vault\n\nTwo savings modules pay interest on deposited ZCHF, minted against the equity reserve (a loss to FPS holders, offset by the interest positions pay). The original module also serves as the *leadrate* (1%) that all positions pay on top of their risk premium; the current Savings module pays a separately set rate (3.5%). Rates change only via a qualified proposal and a 7-day delay. The SavingsVault (svZCHF) is an ERC4626 wrapper over the Savings module with renounced ownership: interest auto-compounds into the share price. Savers' main risks are a governance rate cut to zero and, ultimately, the solvency of the ZCHF system itself.\n\n### Interop\n\nZCHF bridges to other chains via Chainlink CCIP: a token pool (a registered minter) burns on Ethereum and mints on the destination and vice versa, with governance-set per-chain rate limits. Pool configuration is controlled by qualified FPS holders through timelocked proposals that anyone can execute and any qualified holder can veto. A CCIP compromise could mint unbacked ZCHF on Ethereum, bounded by those rate limits.",
"links": {
"websites": [
"https://frankencoin.com/",
"https://app.frankencoin.com/"
],
"documentation": [
"https://docs.frankencoin.com/"
],
"repositories": [
"https://github.com/Frankencoin-ZCHF/FrankenCoin"
],
"socialMedia": [
"https://x.com/frankencoinzchf",
"https://t.me/frankencoinzchf"
]
},
"references": [
{
"title": "Frankencoin Research Paper (UZH)",
"url": "https://www.zora.uzh.ch/entities/publication/b1bff836-6852-457d-93e6-496807db37fa"
}
]
}
colors+1-0
null
ecosystemColors+1-0
null
milestones+1-0
null
chainConfig+1-0
null
escrows+1-0
null
bridgeInfo+1-0
null
bridgeRisks+1-0
null
bridgeTechnology+1-0
null
scalingInfo+1-0
null
scalingStage+1-0
null
scalingRisks+1-0
null
scalingDa+1-0
null
scalingTechnology+1-0
null
daLayer+1-0
null
daBridge+1-0
null
customDa+1-0
null
zkCatalogInfo+1-0
null
interopConfig+1-0
null
privacyInfo+1-0
null
defiInfo+3-0
{
"category": "Stablecoin"
}
externalDependencies+13-0
[
{
"type": "tracked",
"projectId": "ccip",
"description": "Chainlink CCIP bridges ZCHF to other chains through a token pool that is a registered minter. A CCIP compromise could mint unbacked ZCHF on Ethereum, bounded by the governance-set per-chain rate limits."
},
{
"type": "not-tracked",
"name": "AllUnity CHF (CHFAU)",
"icon": "chfau",
"description": "ZCHF can be minted 1:1 against the centrally issued CHFAU stablecoin through a bridge capped at 10M ZCHF (expiring April 2027). A depeg or freeze of CHFAU impairs ZCHF backing up to that cap."
}
]
tvsInfo+1-0
null
tvsConfig+1-0
null
activityConfig+1-0
null
livenessInfo+1-0
null
livenessConfig+1-0
null
costsInfo+1-0
null
trackedTxsConfig+1-0
null
daTrackingConfig+1-0
null
ecosystemInfo+1-0
null
ecosystemConfig+1-0
null
permissions+231-0
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Equity",
"name": "Equity",
"accounts": [
{
"address": "eth:0x1bA26788dfDe592fec8bcB0Eaff472a42BE341B2",
"type": "Contract",
"isVerified": true,
"name": "0x1bA2…41B2",
"url": "https://etherscan.io/address/0x1bA26788dfDe592fec8bcB0Eaff472a42BE341B2"
}
],
"chain": "ethereum",
"description": "Reserve of the Frankencoin system and its governance token (FPS): holds all ZCHF reserves and absorbs losses before ZCHF holders do. FPS is minted and redeemed permissionlessly against ZCHF at a formula price (3x underlying equity, 90-day minimum holding before redemption). Votes equal FPS balance times holding time; 2% of total votes qualifies an address (with delegates) for all veto and proposal rights in the system. There is no admin.\n* Can interact with CCIPAdmin\n * propose changes to the ZCHF CCIP token pool configuration (add/remove chains and remote pools; 7-day delay) or a transfer of the CCIP admin role and pool ownership (21-day delay), with 2% of FPS votes **with 7d delay** [via: - acting directly with 7d delay]\n * immediately set per-chain CCIP rate limits for bridged ZCHF and veto pending CCIPAdmin proposals, with 2% of FPS votes \n* Can interact with Savings\n * propose a new interest rate for the Savings module with 2% of FPS votes, in force after 7 days unless replaced by a counter-proposal. The rate is paid to savers (including the SavingsVault) by minting against the equity reserve **with 7d delay** [via: - acting directly with 7d delay]\n* Can interact with SavingsV2\n * propose a new leadrate with 2% of FPS votes, in force after 7 days unless replaced by a counter-proposal. This sets the rate that all MintingHubV2 positions pay and SavingsV2 depositors earn **with 7d delay** [via: - acting directly with 7d delay]\n* Can interact with FPSWrapper\n * halve the accrued holding duration of the FPSWrapper with 2% of FPS votes, delaying WFPS holders' ability to redeem the underlying FPS for ZCHF \n* Can interact with Frankencoin\n * veto pending minter applications with 2% of FPS votes. This is the system's main safeguard: an unvetoed minter is irrevocable and can mint unlimited ZCHF ",
"discoveryDrivenData": true
},
{
"id": "CCIPAdmin",
"name": "CCIPAdmin",
"accounts": [
{
"address": "eth:0x2527ec458c863073a303CF0a362Bf78aDD5dFEf8",
"type": "Contract",
"isVerified": true,
"name": "0x2527…FEf8",
"url": "https://etherscan.io/address/0x2527ec458c863073a303CF0a362Bf78aDD5dFEf8"
}
],
"chain": "ethereum",
"description": "Owner and admin of the ZCHF CCIP token pool and of the ZCHF entry in Chainlink's TokenAdminRegistry. Every action requires 2% of FPS votes: pool configuration changes (adding/removing chains and remote pools) execute after a 7-day timelock, handover of the admin role after 21 days; setting rate limits and vetoing pending proposals is immediate.\n* Can interact with BurnMintTokenPool\n * configure remote chains, pool addresses, router, allowlist, admins, and rebalancer for this token pool ",
"discoveryDrivenData": true
},
{
"id": "Savings",
"name": "Savings",
"accounts": [
{
"address": "eth:0x27d9AD987BdE08a0d083ef7e0e4043C857A17B38",
"type": "Contract",
"isVerified": true,
"name": "0x27d9…7B38",
"url": "https://etherscan.io/address/0x27d9AD987BdE08a0d083ef7e0e4043C857A17B38"
}
],
"chain": "ethereum",
"description": "Current savings module: deposited ZCHF earns a governance-set interest rate, minted against the equity reserve (3-day interest delay on deposits). Savers can opt into a referral fee of up to 25% of their interest for frontends. Rate changes are proposed by qualified FPS holders and take effect after 7 days unless replaced by a counter-proposal.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "StablecoinBridgeVCHF",
"name": "StablecoinBridgeVCHF",
"accounts": [
{
"address": "eth:0x3B71ba73299F925a837836160c3E1Fec74340403",
"type": "Contract",
"isVerified": true,
"name": "0x3B71…0403",
"url": "https://etherscan.io/address/0x3B71ba73299F925a837836160c3E1Fec74340403"
}
],
"chain": "ethereum",
"description": "Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "SavingsV2",
"name": "SavingsV2",
"accounts": [
{
"address": "eth:0x3BF301B0e2003E75A3e86AB82bD1EFF6A9dFB2aE",
"type": "Contract",
"isVerified": true,
"name": "0x3BF3…B2aE",
"url": "https://etherscan.io/address/0x3BF301B0e2003E75A3e86AB82bD1EFF6A9dFB2aE"
}
],
"chain": "ethereum",
"description": "Original savings module, superseded as a savings product by the current Savings module but still the system's authoritative leadrate source: MintingHubV2 positions pay this contract's rate plus their risk premium (remaining depositors earn it, minted against the equity reserve and capped by it). Rate changes are proposed by qualified FPS holders and take effect after 7 days unless replaced by a counter-proposal.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "StablecoinBridgeCHFAU",
"name": "StablecoinBridgeCHFAU",
"accounts": [
{
"address": "eth:0x3e445ff4ddDf0ff8aE7458c9746eD80bD664F6C1",
"type": "Contract",
"isVerified": true,
"name": "0x3e44…F6C1",
"url": "https://etherscan.io/address/0x3e445ff4ddDf0ff8aE7458c9746eD80bD664F6C1"
}
],
"chain": "ethereum",
"description": "Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "MintingHubV1",
"name": "MintingHubV1",
"accounts": [
{
"address": "eth:0x7546762fdb1a6d9146b33960545C3f6394265219",
"type": "Contract",
"isVerified": true,
"name": "0x7546…5219",
"url": "https://etherscan.io/address/0x7546762fdb1a6d9146b33960545C3f6394265219"
}
],
"chain": "ethereum",
"description": "Deprecated first version of the minting hub with the same oracle-free, auction-policed design (fixed upfront fees instead of the leadrate-linked interest of V2). The official frontend no longer supports it, but it remains a registered minter forever and stays permissionlessly usable.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "StablecoinBridgeXCHF",
"name": "StablecoinBridgeXCHF",
"accounts": [
{
"address": "eth:0x7bbe8F18040aF0032f4C2435E7a76db6F1E346DF",
"type": "Contract",
"isVerified": true,
"name": "0x7bbe…46DF",
"url": "https://etherscan.io/address/0x7bbe8F18040aF0032f4C2435E7a76db6F1E346DF"
}
],
"chain": "ethereum",
"description": "Mints ZCHF against a whitelisted Swiss franc stablecoin held in escrow, at a fixed 1:1 (decimal-adjusted) rate, up to a hard cap and only until its expiration (see isExpired). An expired bridge is permanently mint-disabled, but ZCHF from it can always be burned to redeem the escrowed stablecoin. A depeg or freeze of the escrowed stablecoin impairs ZCHF backing up to the cap.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "BridgeAccounting",
"name": "BridgeAccounting",
"accounts": [
{
"address": "eth:0x88fd2ECD0B9250F203e99E80eb78b0C32B8AdB16",
"type": "Contract",
"isVerified": true,
"name": "0x88fd…dB16",
"url": "https://etherscan.io/address/0x88fd2ECD0B9250F203e99E80eb78b0C32B8AdB16"
}
],
"chain": "ethereum",
"description": "Books profit/loss settlements from bridged Frankencoin deployments on other chains into the mainnet reserve (it is a registered minter). Accepts CCIP messages only from the ZCHF token contracts registered in the token pool.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "BurnMintTokenPool",
"name": "BurnMintTokenPool",
"accounts": [
{
"address": "eth:0x9359cd75549DaE00Cdd8D22297BC9B13FbBe4B79",
"type": "Contract",
"isVerified": true,
"name": "0x9359…4B79",
"url": "https://etherscan.io/address/0x9359cd75549DaE00Cdd8D22297BC9B13FbBe4B79"
}
],
"chain": "ethereum",
"description": "* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "UniswapAmplifier",
"name": "UniswapAmplifier",
"accounts": [
{
"address": "eth:0xa1304E5Aaf83CDB7c2b367F50B99Bb0647ED8C58",
"type": "Contract",
"isVerified": true,
"name": "0xa130…8C58",
"url": "https://etherscan.io/address/0xa1304E5Aaf83CDB7c2b367F50B99Bb0647ED8C58"
}
],
"chain": "ethereum",
"description": "Allows to create uniswap positions with ZCHF borrowed from the protocol on one side and USDT supplied by the user on the other. There are multiple contraints on what kind of positions can be created.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "PositionRoller",
"name": "PositionRoller",
"accounts": [
{
"address": "eth:0xAD0107D3Da540Fd54b1931735b65110C909ea6B6",
"type": "Contract",
"isVerified": true,
"name": "0xAD01…a6B6",
"url": "https://etherscan.io/address/0xAD0107D3Da540Fd54b1931735b65110C909ea6B6"
}
],
"chain": "ethereum",
"description": "Helper that rolls debt and collateral from one minting position into another in a single transaction. It is a registered minter but uses that right only transiently within a roll.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "MintingHubV2",
"name": "MintingHubV2",
"accounts": [
{
"address": "eth:0xDe12B620A8a714476A97EfD14E6F7180Ca653557",
"type": "Contract",
"isVerified": true,
"name": "0xDe12…3557",
"url": "https://etherscan.io/address/0xDe12B620A8a714476A97EfD14E6F7180Ca653557"
}
],
"chain": "ethereum",
"description": "Permissionless factory for collateralized ZCHF minting positions: anyone can open a position with any ERC20 collateral and a self-declared liquidation price for a 1,000 ZCHF fee, or clone an approved one for free. No price oracle is used; anyone can challenge an overpriced position in a collateral auction (2% challenger reward) and qualified FPS holders (2% of votes) can veto new positions during their initialization period. Positions prepay interest (leadrate plus a fixed risk premium) at minting for the term to expiration and are individually registered as minters (not listed here).\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
},
{
"id": "TransferReference",
"name": "TransferReference",
"accounts": [
{
"address": "eth:0xf98c221661F51578f5E5236B189a493E2a8a1916",
"type": "Contract",
"isVerified": true,
"name": "0xf98c…1916",
"url": "https://etherscan.io/address/0xf98c221661F51578f5E5236B189a493E2a8a1916"
}
],
"chain": "ethereum",
"description": "Convenience contract for ZCHF transfers with an attached payment reference, on Ethereum and cross-chain via CCIP. It is registered as a minter solely for the resulting unlimited allowance; its code only moves funds of the caller or of accounts that granted the caller an explicit infinite allowance.\n* Can interact with Frankencoin\n * mint and burn ZCHF without restriction, transfer ZCHF from any account (minters have unlimited allowance), and book profits and losses against the reserve held in the Equity contract ",
"discoveryDrivenData": true
}
]
}
}
contracts+142-0
{
"addresses": {
"ethereum": [
{
"name": "PositionFactory",
"isVerified": true,
"address": "eth:0x0CDE500e6940931ED190ded77bb48640c9486392",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless factory that deploys new Position contracts and ERC-1167 minimal proxies targeting the original contract of a supplied Position.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0CDE500e6940931ED190ded77bb48640c9486392#code"
},
{
"name": "Position",
"isVerified": true,
"address": "eth:0x49C431454C40ecbf848096f2753B2ABC3A699a10",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collateralized debt position whose owner can mint the configured stablecoin against a fixed ERC20 collateral, subject to a declared liquidation price and fixed minimum collateral, risk premium, challenge period, and expiration. A full Position deployment tracks the minting limit for its clone family and acts as the implementation and immutable-parameter source for ERC-1167 child positions; the configured hub conducts challenges and forced collateral sales.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x49C431454C40ecbf848096f2753B2ABC3A699a10#code"
},
{
"name": "LeadrateSender",
"isVerified": true,
"address": "eth:0x4d433780A16d425c5dB1F725A6d104233a8Ef28D",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless helper that pushes the Savings module's current interest rate to bridged savings modules on other chains via CCIP; anyone can trigger a push by paying the CCIP fee.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4d433780A16d425c5dB1F725A6d104233a8Ef28D#code"
},
{
"name": "FPSWrapper",
"isVerified": true,
"address": "eth:0x5052D3Cc819f53116641e89b96Ff4cD1EE80B182",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Wrapper token (WFPS) for FPS. Wrapped shares cannot vote individually and can be unwrapped or redeemed for ZCHF at any time, subject to the wrapper's collective holding duration.\n* Roles:\n * **underlying**: Equity",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5052D3Cc819f53116641e89b96Ff4cD1EE80B182#code"
},
{
"name": "PositionFactory",
"isVerified": true,
"address": "eth:0x728310FeaCa72dc46cD5BF7d739556D5668472BA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Stateless factory that deploys new Position contracts and ERC-1167 minimal proxies targeting the original contract of a supplied Position.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x728310FeaCa72dc46cD5BF7d739556D5668472BA#code"
},
{
"name": "AmplifiedPosition",
"isVerified": true,
"address": "eth:0x8746159D385f84CB550ab5aE015c0dDf6909b8f2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Position template for ZCHF USDT uniswap amplified positions.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8746159D385f84CB550ab5aE015c0dDf6909b8f2#code"
},
{
"name": "Frankencoin",
"isVerified": true,
"address": "eth:0xB58E61C3098d85632Df34EecfB899A1Ed80921cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The ZCHF stablecoin token. Immutable and ownerless: supply is controlled exclusively by registered 'minter' modules. Anyone can apply to add a minter by paying a fee of at least 1,000 ZCHF; it becomes active unless vetoed by FPS holders with 2% of votes during the application period (at least 14 days). Once active, a minter is irrevocable.\n* Roles:\n * **minters**: BridgeAccounting, BurnMintTokenPool, MintingHubV1, MintingHubV2, PositionRoller, Savings, SavingsV2, StablecoinBridgeCHFAU, StablecoinBridgeVCHF, StablecoinBridgeXCHF, TransferReference, UniswapAmplifier\n * **reserve**: Equity",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB58E61C3098d85632Df34EecfB899A1Ed80921cB#code"
},
{
"name": "SavingsVault",
"isVerified": true,
"address": "eth:0xE5F130253fF137f9917C0107659A4c5262abf6b0",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "ERC4626 vault (svZCHF) over the Savings module: deposited ZCHF is forwarded there and interest auto-compounds into the share price. Ownership has been renounced, so its only privileged function (activating a referral-fee skim of up to 25% of interest) is permanently disabled and the vault is fully immutable.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE5F130253fF137f9917C0107659A4c5262abf6b0#code"
},
{
"name": "GovernanceSender",
"isVerified": true,
"address": "eth:0xFD23272DfcB13Dc3Fabd8DB851fCD4827Af876EB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Permissionless helper that pushes FPS voting-power snapshots to bridged governance contracts on other chains via CCIP; anyone can trigger a sync by paying the CCIP fee.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFD23272DfcB13Dc3Fabd8DB851fCD4827Af876EB#code"
}
]
},
"risks": []
}