FiatExDocs

Use FiatEx

Create an fx currency

Use a real FX rate at creation, then let the currency trade in its own USDC market.

The rate applies at creation

Choose a supported reference currency, such as JPY. The app obtains price updates, and the onchain oracle verifies the FX and USDC/USD feeds. The factory uses that rate to create the fxJPY/USDC pool.

For illustration, if 1 USDC buys 150 JPY at creation, the pool opens at approximately 1 USDC = 150 fxJPY. The 150 rate is an example, not a live quote. Integer and liquidity rounding apply.

After that transaction, swaps determine the price. There is no ongoing FX peg, fiat backing, interest payment, or redemption at the reference rate. fxEUR is a creator-issued market token, not Circle’s EURC.

Existing external currencies

cirBTC, EURC, and MARCO are existing Arc tokens, not currencies issued by FiatEx. Their names and tickers stay unchanged. Selecting one does not create another copy or require the fx-currency deposit.

Configured USDC bridge pools on Uniswap v4
CurrencyDecimalsBridge LP fee
cirBTC80.15%
EURC60.05%
MARCO180.25%

These pools have no hooks. The deployment fixes one bridge key per external currency; there is no administrator function to replace it. The router converts native USDC through that bridge before buying the launched token, and reverses the route for sells. Quotes include bridge fees and price impact. Uniswap protocol fees may also apply if enabled by Uniswap.

External LP owners can remove or move their bridge liquidity. FiatEx cannot stop them. If a bridge cannot fill a swap, the entire routed transaction reverts. The FiatEx token position remains locked. External currencies also retain their own issuer, transfer, upgrade, and market risks. Pool verification is not an audit of the currency issuer.

Where the deposit goes

FiatEx chooses a currency-creation deposit between 15 and 20 native USDC at deployment. The current undeployed configuration uses 20 USDC. Once deployed, that amount cannot be changed.

The deposit and the newly minted fx currency fund permanent liquidity. The deposit is not paid to the FiatEx vault. Any unused USDC rounding dust is returned to the creator. The creator pays the oracle update fee and network gas separately.

The currency supply is calculated from the deposit and opening price. At an illustrative 150 fxJPY per USDC, a 20-USDC deposit corresponds to roughly 3,000 fxJPY before rounding. This is unrelated to the 3,000-USDC token bonding target.

Create the pair

  1. Open Currencies, then Add new currency / pair. From the token launch form, this stays in the same app. Use Back to launch to return to your draft. Reloading the page clears the draft.
  2. Select a reference currency and wait for the verified opening rate and oracle fee.
  3. Add an optional metadata URI. Confirm that the deposit becomes permanent liquidity and that the currency will not maintain a peg.
  4. Submit one transaction with the deposit and oracle update fee. Keep enough native USDC for gas.
  5. After confirmation and indexing, select the new currency in the token launch form. Check its address before using it.

Rate checks and duplicate tickers

The contract rejects stale observations older than 60 seconds, invalid or future-dated prices, and confidence intervals above 1%. The app also bounds the opening rate to within 0.5% of the rate you reviewed. Refresh an expired quote instead of submitting old update data.

Supported codes are listed by the API and currency form. A configured code alone does not prove that a mainnet verifier and usable feed are available. Creation remains disabled until deployment and oracle configuration are verified.

Different creators can issue currencies with the same fx ticker. They have separate addresses, liquidity, and prices. A purchase of one fxJPY does not give you a claim on another fxJPY pool.

View currency markets