fiatEx
Arc Mainnet
Connect wallet
App previewThe fiatEx contracts are not deployed yet. Transactions are disabled.

How fiatEx works.

fiatEx is a currency-pair launchpad on Arc. Creators select USDC or a registered fx currency as their token’s quote asset. They can also create a new fx currency.

Exchange rates at creation

Opening fx currency prices follow FX and USDC/USD feeds verified onchain. For example, if 1 USDC = 17,590 IDR, the pool opens at 1 USDC = 17,590 fxIDR. This illustrates the ratio; it is not a current rate.

After creation, demand and liquidity determine the price. These tokens have no fiat reserves, redemption rights, or mechanism to maintain a peg.

Bonding in the v4 pool

The creator signs the launch transaction. The contract mints a fixed supply and places it in a one-sided Uniswap v4 liquidity position. Buys add quote assets to that position and remove tokens; sells do the reverse.

The initial market cap is fixed at 100 USDC for a supply of one billion tokens, about 0.0000001 USDC per token. The contract converts this into the selected quote currency at its current pool price. Tick rounding applies. Creators do not enter a starting price, and this initial market cap is separate from the bonding target.

fiatEx sets a target of 3,000 USDC in quote-reserve market value. The contract multiplies the quote amount in the bonding position by the quote/USDC spot price at the time of the transaction. This is not the token market cap, total volume, or gross USDC raised. A direct-USDC pair measures its USDC principal reserve, excluding fees.

The hook checks the target after every token buy. The pool, price curve, fees, and liquidity stay the same; there is no migration. Completion is permanent even if the valuation later falls.

External exact-output routes may execute the token hop before the currency hop. If the target is reached only after the currency hop, anyone can call checkpointBonding after the swap settles. The next token buy also checks the target. This records a milestone and does not control funds.

Spot valuations can spike or be manipulated in small pools. Bonding completion does not unlock funds, grant withdrawal rights, or prove that 3,000 USDC can be withdrawn.

Permanent liquidity and fees

The 15–20 USDC currency deposit is chosen at deployment and cannot be changed. Apart from refunded rounding dust, the deposit becomes permanent liquidity. The position belongs to a contract with no withdrawal, position-transfer, or upgrade function. Creators have no LP NFT they can withdraw.

The token creator fee is capped at 15%, plus 1% for the fiatEx vault. Both are calculated from the trade quote and paid in the selected quote asset. A 10% creator fee means an 11% total fee. The currency/USDC pool adds no second launch fee.

The pool hook collects these fees, including swaps through external routers. Pools accept v4 exact-input and exact-output swaps from launch. Listing and routing in the Uniswap app depend on its network, hook, and route support; listing is not automatic.

Wallet transactions

On fiatEx, buyers send native USDC. The router executes USDC → fx currency → token, or USDC → token, atomically. Buys need no approval. Sells need a token approval if the allowance is insufficient, followed by a swap; the UI never requests unlimited approval. External routers can also swap fx currency directly for tokens and have their own approval requirements.

Buy quotes are simulated from a connected, funded wallet. This does not request a signature or spend funds. The actual buy needs one transaction. Token images and metadata are uploaded separately to public IPFS with your consent, without a wallet signature; they may remain public even if you cancel the launch.

If the PoolManager quote balance cannot cover fees before settlement, external routes must settle the input first or the whole transaction reverts. Fees are not bypassed. Small starting liquidity can also cause large price impact.

The backend serves data and oracle updates but holds no wallet private keys and signs no user transactions. Onchain events provide the history. State reads and simulations use latest, so no archive-state node is required.

Security limitations

The contracts have not undergone an independent audit. Arc, USDC rules including blocklisting, the oracle verifier, and Uniswap remain external dependencies. Locked liquidity does not protect against price changes, MEV, impersonation tokens, or loss of value.

Market prices are not investment recommendations. Check the contract address, fees, and minimum output before signing.

View currencies