Skip to content

Ecosystem

What is live on Frost today.

The traded universe behind FrostSwap is the RWA v2 compliance suite — a chain-global FrostKycRegistry of investor records, and per-asset FrostRwaTokenV2 tokens that make exactly one compliance call per transfer against the issuer’s rules — and a Uniswap v3 FUSD hub: a Frost factory shim, the SwapRouter, the position manager and one FUSD/<token> pool per asset, with a WROST/FUSD bridge pool. The pools’ TWAP is the price oracle behind the suite’s FUSD-denominated transfer caps. Post-quantum accounts interact with all of it as ordinary addresses, because from a contract’s point of view that is exactly what they are. The contracts are source-verified on Frostscan.

Wallet Platform Keys
FrostWallet iOS and macOS ML-DSA-65 signing key generated in, and never leaving, the Secure Enclave.
Browser-extension wallet Manifest V3 browser extension ML-DSA-65 smart accounts.

Present from genesis at fixed addresses, so tooling that hardcodes them works unmodified.

Contract Address
CREATE2 factory (EIP-7997) 0x4e59b44847b379578588920cA78FbF26c0B4956C
Multicall3 0xca11bde05977b3631167028862be2a173976ca11
Frame expiry verifier 0x0000000000000000000000000000000000008141

One address in the same range is not a predeploy: the frame entry point, 0x00000000000000000000000000000000000000aa, is a system address with no code. It is the caller that frame execution presents to an account, which is how an account contract tells a frame invocation from an ordinary call.

Full list with descriptions: Predeploys.

The precompiles — including the ML-DSA verifiers at 0x14 and 0x15 — are available to any contract.

Tool Language Purpose
viem-8141 TypeScript Frame transactions and ML-DSA signing for viem. Browser-capable.
web3-8141 Python The same for web3.py.
frametx Go Reference CLI — keygen, addresses, sends, rotation.

Standard Ethereum tooling — Foundry, Hardhat, ethers, viem, explorers, indexers — works for everything except signing from a post-quantum account. See SDKs.

The chain is an ordinary EVM target with two additions worth designing around:

Post-quantum accounts are contracts. Do not use tx.origin as proof that the caller holds a key: under EIP-8141 ORIGIN is the frame’s caller, so a post-quantum account passes tx.origin == msg.sender without being an EOA.

Signature verification is available to you. Any contract can call the ML-DSA precompiles — 16,000 gas for ML-DSA-65 at 0x14, 10,500 for ML-DSA-44 at 0x15, flat in both cases. That opens designs that are not practical elsewhere: post-quantum multisigs, attestations verifiable on chain, or bridging authorities that survive a quantum adversary. See Deploy a contract.

If you deploy something on Frost and want it here, open a pull request against the documentation repository.