flare-fassets

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Flare FAssets

Flare FAssets

What FAssets Are

什么是FAssets

FAssets is a trustless, over-collateralized bridge connecting non–smart-contract networks (XRP Ledger, Bitcoin, DOGE) to Flare.
It creates wrapped ERC-20 tokens (FAssets) such as FXRP, FBTC, FDOGE that can be used in Flare DeFi or redeemed for the underlying asset.
Powered by:
  • FTSO (Flare Time Series Oracle): decentralized price feeds
  • FDC (Flare Data Connector): verifies off-chain actions (e.g. payments on other chains)
Collateral: Stablecoin and native FLR.
Agents and a community collateral pool provide over-collateralization.
FAssets是一个无需信任、超额抵押的跨链桥,连接非智能合约网络(XRP账本、比特币、狗狗币)与Flare网络。
它生成可在Flare DeFi中使用或赎回为底层资产的包装ERC-20代币(FAssets),如FXRP、FBTC、FDOGE。
核心技术支持:
  • FTSO(Flare Time Series Oracle): 去中心化价格预言机
  • FDC(Flare Data Connector): 验证链下操作(如其他链上的支付)
抵押品: 稳定币与原生FLR代币。
Agent与社区抵押池提供超额抵押保障。

FXRP at a Glance

FXRP 概览

FXRP is the ERC-20 representation of XRP on Flare, powered by the FAssets system.
It is designed to be trustless and redeemable back to XRP.
Key points:
  • EVM-compatible token: Works with standard wallets, smart contracts, and DeFi apps on Flare.
  • Trust-minimized bridge flow: Uses FDC attestations for XRPL payment verification.
  • Redeemable: FXRP can be redeemed for native XRP through the FAssets redemption flow.
  • DeFi + yield use cases: Can be used in lending/liquidity strategies and vault-based products like Firelight.
How users acquire FXRP:
  1. Mint from XRP using a minting dApp.
  2. Mint programmatically via AssetManager flows.
  3. Swap from other tokens on Flare DEXs.
FXRP是XRP在Flare网络上的ERC-20代币表示,基于FAssets系统运行。
它被设计为无需信任且可赎回为原生XRP的资产。
核心特点:
  • 兼容EVM的代币: 可在Flare网络上与标准钱包、智能合约及DeFi应用兼容使用。
  • 最小化信任的跨链流程: 利用FDC证明验证XRPL支付。
  • 可赎回: FXRP可通过FAssets赎回流程兑换为原生XRP。
  • DeFi与收益场景: 可用于借贷/流动性策略,以及Firelight等基于金库的产品。
用户获取FXRP的方式:
  1. 通过铸造dApp用XRP铸造。
  2. 通过AssetManager流程以编程方式铸造。
  3. 在Flare去中心化交易所(DEX)与其他代币兑换。
指南: FXRP概述

Key Participants

核心参与角色

RoleResponsibility
AgentsHold underlying assets, provide collateral, redeem for users. Verified via governance. Use work (hot) and management (cold) addresses. Must meet backing factor.
UsersMint (deposit underlying → get FAssets) or redeem (burn FAssets → get underlying). No restrictions.
Collateral providersLock FLR in an agent's pool; earn share of minting fees.
LiquidatorsBurn FAssets for collateral when agent collateral falls below minimum; earn rewards.
ChallengersSubmit proof of agent violations; earn from vault on successful challenge. Full liquidation stops agent from new minting.
角色职责
Agents持有底层资产,提供抵押品,为用户处理赎回操作。需通过治理验证。使用*工作(热)管理(冷)*地址。必须满足抵押率要求
用户铸造(存入底层资产 → 获取FAssets)或赎回(销毁FAssets → 获取底层资产)。无权限限制。
抵押品提供者将FLR锁定在Agent的抵押池中;赚取铸造费用分成。
清算者当Agent抵押品低于最低要求时,销毁FAssets以获取抵押品;赚取奖励。
挑战者提交Agent违规的证据;成功挑战后从金库获取奖励。完全清算将阻止Agent参与新的铸造。

FAsset Workflow

FAsset 工作流程

Minting

铸造

  1. User selects an agent and reserves collateral (pays fee in FLR).
  2. User sends underlying asset (e.g. XRP) to the agent on the underlying chain (with payment reference).
  3. FDC verifies the payment and produces attestation/proof.
  4. User (or executor) calls executeMinting with proof → FAssets are minted on Flare.
Fees: Collateral Reservation Fee (CRF, native), Minting Fee (underlying), optional Executor Fee (native).
If minting fails, CRF is not returned.
  1. 用户选择一个Agent并预留抵押品(支付FLR作为费用)。
  2. 用户将底层资产(如XRP)发送至Agent在底层链上的地址(需包含支付参考)。
  3. FDC验证该支付并生成证明/凭证。
  4. 用户(或执行者)携带证明调用executeMinting → 在Flare网络上铸造FAssets。
费用: 抵押品预留费(CRF,原生代币)、铸造费(底层资产)、可选执行者费(原生代币)。
若铸造失败,CRF不予退还。

Redemption

赎回

Users redeem FAssets for the original underlying asset at any time (flow is request → agent pays out on underlying chain).
用户可随时将FAssets赎回为原始底层资产(流程为:发起请求 → Agent在底层链上完成支付)。

Core Vault (CV)

核心金库(CV)

Per-asset vault that improves capital efficiency: agents can deposit underlying into the CV to free collateral.
Multisig on the underlying network; governance can pause.
Not agent-owned.
每个资产对应一个核心金库,提升资本效率:Agent可将底层资产存入核心金库以释放抵押品。
底层网络采用多签机制;治理可暂停其功能。
核心金库不属于任何Agent。

Contracts and Addresses — Get at Runtime

合约与地址——运行时获取

FlareContractsRegistry (same on all Flare networks):
0xaD67FE66660Fb8dFE9d6b1b4240d8650e30F6019
.
Use it as the trusted source to resolve other contract addresses (e.g.
getContractAddressByName()
,
getAllContracts()
).
Do not hardcode AssetManagerController, AssetManager, or FXRP addresses.
They differ per network (Coston2, Songbird, Flare mainnet).
Resolve them at runtime via the registry.
To get the FXRP address:
  1. Query the FlareContractsRegistry with
    getContractAddressByName("AssetManagerFXRP")
    — the returned address is the AssetManager (FXRP) contract address.
  2. Attach the IAssetManager interface to that address (or use it as your AssetManager instance).
  3. Call
    fAsset()
    on the AssetManager to get the FXRP ERC-20 token address.
Same pattern for other FAssets (FBTC, etc.) using their corresponding registry keys.
AssetManagerController is also available from the registry when needed.
Guide: Get FXRP Address — e.g.
const assetManager = await getAssetManagerFXRP(); const fasset = await assetManager.fAsset();
Skill resource script: scripts/get-fxrp-address.ts — gets FXRP address at runtime via FlareContractsRegistry →
getContractAddressByName("AssetManagerFXRP")
fAsset()
.
Uses ethers; set
FLARE_RPC_URL
or pass your network RPC.
Run with
npx ts-node scripts/get-fxrp-address.ts
(or in a Hardhat project with
yarn hardhat run scripts/get-fxrp-address.ts --network coston2
).
FlareContractsRegistry(所有Flare网络通用):
0xaD67FE66660Fb8dFE9d6b1b4240d8650e30F6019
请将其作为可信源查询其他合约地址(如
getContractAddressByName()
getAllContracts()
)。
请勿硬编码AssetManagerController、AssetManager或FXRP的地址。
这些地址在不同网络(Coston2、Songbird、Flare主网)中各不相同。
需通过注册中心在运行时解析地址。
获取FXRP地址的方法:
  1. 调用FlareContractsRegistry
    getContractAddressByName("AssetManagerFXRP")
    — 返回的地址即为AssetManager(FXRP)合约地址。
  2. 为该地址附加IAssetManager接口(或直接将其作为AssetManager实例使用)。
  3. 调用AssetManager的**
    fAsset()
    **方法获取FXRP的ERC-20代币地址。
其他FAssets(如FBTC)可使用对应的注册中心密钥,遵循相同的模式。
AssetManagerController也可在需要时通过注册中心获取。
指南: 获取FXRP地址 — 示例:
const assetManager = await getAssetManagerFXRP(); const fasset = await assetManager.fAsset();
技能资源脚本: scripts/get-fxrp-address.ts — 通过FlareContractsRegistry在运行时获取FXRP地址 →
getContractAddressByName("AssetManagerFXRP")
fAsset()
使用ethers库;需设置
FLARE_RPC_URL
或传入自定义网络RPC。
运行方式:
npx ts-node scripts/get-fxrp-address.ts
(或在Hardhat项目中使用
yarn hardhat run scripts/get-fxrp-address.ts --network coston2
)。

Developer Integration (High Level)

开发者集成(概览)

Minting

铸造

  1. Reserve collateral: Call
    reserveCollateral(agentVault, lots, feeBIPS, executor)
    on AssetManager.
Pay CRF via
collateralReservationFee(lots)
.
Use
CollateralReserved
event for
collateralReservationId
, payment reference, and deadlines. 2. Underlying payment: User sends underlying asset to agent's underlying-chain address with the payment reference from the event.
Must complete before
lastUnderlyingBlock
and
lastUnderlyingTimestamp
. 3. Proof: Use FDC to get attestation/proof for the payment (e.g. Payment attestation type). 4. Execute minting: Call
executeMinting(proof, collateralReservationId)
on AssetManager.
Agent selection: Use
getAvailableAgentsDetailedList
(or equivalent), filter by free collateral lots and status, then by fee (e.g.
feeBIPS
).
Prefer agents with status NORMAL.
  1. 预留抵押品: 在AssetManager上调用
    reserveCollateral(agentVault, lots, feeBIPS, executor)
通过
collateralReservationFee(lots)
支付CRF费用。
使用
CollateralReserved
事件获取
collateralReservationId
、支付参考与截止时间。 2. 底层资产支付: 用户将底层资产发送至Agent在底层链上的地址,需包含事件中返回的支付参考
必须在
lastUnderlyingBlock
lastUnderlyingTimestamp
之前完成支付。 3. 获取证明: 使用FDC获取该支付的证明/凭证(如支付证明类型)。 4. 执行铸造: 在AssetManager上调用
executeMinting(proof, collateralReservationId)
Agent选择: 使用
getAvailableAgentsDetailedList
(或同类方法),根据可用抵押品份额、状态筛选,再按费用(如
feeBIPS
)排序。
优先选择状态为NORMAL的Agent。

Redeeming

赎回

Request redemption (burn FAssets on Flare); the chosen agent pays out the underlying asset on the underlying chain.
See FAssets Redemption and Redeem FAssets for the full flow (redemption request, queue, agent payout, optional swap-and-redeem / auto-redeem).
Prerequisites (from Flare docs): Flare Hardhat Starter Kit,
@flarenetwork/flare-periphery-contracts
, and for XRP payments the
xrpl
package.
发起赎回请求(在Flare网络上销毁FAssets);所选Agent将在底层链上支付对应的底层资产。
完整流程请参考FAssets赎回赎回FAssets(包括赎回请求、队列、Agent支付、可选的兑换赎回/自动赎回)。
前置条件(来自Flare文档): Flare Hardhat Starter Kit、
@flarenetwork/flare-periphery-contracts
,处理XRP支付需使用
xrpl
包。

Terminology

术语说明

  • Underlying network / underlying asset: Source chain and its native asset (e.g. XRPL, XRP).
  • Lot: Smallest minting unit; size from AssetManager/FTSO (see "Read FAssets Settings" in reference).
  • Backing factor: Minimum collateral ratio agents must maintain.
  • CRF: Collateral Reservation Fee. UBA: Smallest unit of the underlying asset (e.g. drops for XRP).
  • 底层网络/底层资产: 源链及其原生资产(如XRP账本、XRP)。
  • Lot: 最小铸造单位;大小可从AssetManager/FTSO获取(参考“读取FAssets设置”)。
  • 抵押率: Agent必须维持的最低抵押品比例。
  • CRF: 抵押品预留费。UBA: 底层资产的最小单位(如XRP的drops)。

Flare Smart Accounts

Flare智能账户

Flare Smart Accounts let XRPL users interact with FAssets on Flare without owning any FLR.
Each XRPL address is assigned a unique smart account on Flare that only it can control.
How it works:
  1. User sends a Payment transaction on the XRPL to a designated address, encoding instructions in the memo field as a payment reference.
  2. An operator monitors incoming XRPL transactions and requests a Payment attestation from the FDC.
  3. The operator calls
    executeTransaction
    on the
    MasterAccountController
    contract on Flare, passing the proof and the user's XRPL address.
  4. The contract verifies the proof, retrieves (or creates) the user's smart account, decodes the payment reference, and executes the requested action.
Supported instruction types (first nibble of payment reference):
Type IDTarget
0
FXRP token interactions
1
Firelight vault (stXRP)
2
Upshift vault
This means XRPL users can mint/redeem FXRP, stake into Firelight, or interact with Upshift — all from a single XRPL Payment transaction.
Flare智能账户允许XRPL用户无需持有FLR即可与Flare网络上的FAssets交互。
每个XRPL地址在Flare网络上对应一个唯一的智能账户,且仅该地址可控制该账户。
工作原理:
  1. 用户在XRPL上向指定地址发送支付交易,在备注字段中编码指令作为支付参考。
  2. 运营商监控XRPL的 incoming交易,并向FDC请求支付证明。
  3. 运营商在Flare网络上调用
    MasterAccountController
    合约的
    executeTransaction
    方法,传入证明与用户的XRPL地址。
  4. 合约验证证明,检索(或创建)用户的智能账户,解码支付参考并执行请求的操作。
支持的指令类型(支付参考的第一个半字节):
类型ID目标
0
FXRP代币交互
1
Firelight金库(stXRP)
2
Upshift金库
这意味着XRPL用户可通过单一XRPL支付交易完成FXRP的铸造/赎回、存入Firelight质押,或与Upshift交互。

Minting dApps and Wallets

铸造dApp与钱包

  • Minting dApps: Oracle Daemon, AU
  • Wallets: Bifrost, Ledger, Luminite, OxenFlow (Flare + XRPL); MetaMask, Rabby, WalletConnect (Flare EVM); Xaman (XRPL).
    Dual-network wallets give the smoothest mint flow.
  • 铸造dApp:Oracle DaemonAU
  • 钱包:Bifrost、Ledger、Luminite、OxenFlow(支持Flare + XRPL);MetaMask、Rabby、WalletConnect(支持Flare EVM);Xaman(支持XRPL)。
    双网络钱包能提供最流畅的铸造体验。

When to Use This Skill

何时使用该技能

  • Implementing or debugging FAssets minting/redemption (scripts, bots, dApps).
  • Resolving agent selection, collateral, fees, or payment-reference flows.
  • Integrating with AssetManager, AssetManagerController, or FAsset token contracts.
  • Explaining FAssets, FXRP, FBTC, agents, or Core Vault to users or in docs.
  • Following Flare Developer Hub FAssets guides and reference.
  • 实现或调试FAssets铸造/赎回流程(脚本、机器人、dApp)。
  • 解决Agent选择、抵押品、费用或支付参考相关流程问题。
  • 集成AssetManager、AssetManagerController或FAsset代币合约。
  • 向用户或在文档中解释FAssets、FXRP、FBTC、Agent或核心金库的概念。
  • 遵循Flare Developer Hub的FAssets指南与参考文档。

Additional Resources

额外资源

  • Official docs and API/reference: reference.md
  • For detailed contract interfaces, mint/redeem scripts, and operational parameters, use the Flare Developer Hub links in reference.md.
  • 官方文档与API/参考:reference.md
  • 如需详细的合约接口、铸造/赎回脚本及操作参数,请参考reference.md中的Flare Developer Hub链接。",