Skip to content

Frequently Asked Questions

General

What is Sera?

Sera is a stablecoin FX exchange that enables trading between stablecoins representing different fiat currencies (USD, EUR, GBP, SGD, JPY, and more). All settlement happens on Ethereum via open-source smart contracts.

What currencies are supported?

Sera supports many fiat currencies through various stablecoin issuers. See Supported Currency Pairs for the full list.

Is Sera custodial?

No. Sera is fully non-custodial. Vault balances are held in on-chain smart contracts, and fund movement requires valid authorization. Sera's off-chain services handle only order matching and do not custody your tokens. If Sera's API is unavailable, the on-chain emergency withdrawal mechanism can recover Vault balances. See Non-Custodial Design for the full explanation.

Trading

What order types are available?

Sera supports limit orders (specify your price), instant swaps (fill-or-kill at the best available price), and Virtual Liquidity batches (multi-pair orders with shared collateral). See Order Types and Virtual Liquidity for details.

What is Virtual Liquidity?

Virtual Liquidity (VL) lets you place 2 to 50 limit orders across distinct markets backed by a single shared budget. Query GET /config (under limits.vl_batch) for the current cap. Instead of locking collateral for each order independently, a VL batch freezes only the maximum of any single order's cost. When one sibling fills, the others are automatically resized to fit the remaining budget. Exact duplicates and inverse pairs count as the same market and are rejected. See Virtual Liquidity.

How do instant swaps work?

Instant swaps use Smart Order Routing (SOR) to find the best price across all available liquidity. The SOR engine routes through intermediate currencies when a direct path isn't optimal — for example, a JPY→GBP swap might route through USD if that produces a better rate.

  1. Request a quote via the API — the SOR engine finds the optimal route
  2. Sign the quote parameters with your wallet
  3. Submit the signature to execute

Swaps are atomic — they either execute in full or are rejected entirely. See Swap Trading.

What are the fees?

Swap fees are incorporated into the quote you sign — what you see is what you pay, with gas already included. Limit order users pay Ethereum gas in real ETH at settlement time. See Fees & Costs.

Can I cancel an order?

Yes. Open and partially filled orders can be cancelled using POST /orders/cancel with an EIP-712 CancelOrder signature. Orders are typically subject to a ~5-minute cancel cooldown after placement; hitting it returns 429. Retry after the cooldown or fetch the order status before resubmitting.

What happens to partially filled orders when cancelled?

The unfilled portion is returned to your vault balance. Any proceeds from the filled portion remain available in your vault.

API

Do I need an API key?

  • Public endpoints (health, tokens, swap quotes) — No API key needed
  • Trading endpoints (place order, swap) — No API key needed, but requires EIP-712 signatures
  • Read endpoints (balances, order history) — API key required

See Authentication for how to create API keys.

What are the rate limits?

Public throttling is enforced at the edge proxy/CDN. Requests authenticated with an API key are additionally rate limited per wallet inside the application:

  • read: 10 requests/second
  • trade: 5 requests/second
  • cancel: 2 requests/second
  • transfer: 2 requests/second

Is there a WebSocket API?

Not currently for public users. Use polling with the REST API for order status updates.

Security

How are funds secured?

Vault balances are held in the Vault.sol smart contract with per-user ledger balances. The Vault is non-custodial — Sera's off-chain services do not custody your funds. Trading operations require EIP-712 signatures from your wallet, and settlement happens on-chain. The smart contracts are open source and have been independently audited. If Sera's off-chain services go down, you can use emergency withdrawal directly on-chain.

What if the API goes down?

You can use the smart contract's emergency withdrawal mechanism without relying on the API:

  1. Call emergencyWithdraw(token, amount) on the Sera contract
  2. Wait ~24 hours (7,200 blocks)
  3. Call emergencyWithdraw(token, amount) again to execute

See Emergency Withdrawal for details.

Can my account be frozen?

In rare cases (e.g., compliance requirements), accounts may be frozen. Frozen accounts can still withdraw their funds but cannot place new trades.

Support

How do I get help?