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. Your funds are held in on-chain smart contracts (the Vault) and can only be moved with your cryptographic signature. Sera's off-chain services handle only order matching — they never have access to your tokens. You can withdraw at any time, even if Sera's API is unavailable, using the on-chain emergency withdrawal mechanism. 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.
- Request a quote via the API — the SOR engine finds the optimal route
- Sign the quote parameters with your wallet
- 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. All users are subject to a 5-minute cooldown — orders must be at least 5 minutes old before they can be cancelled.
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/secondtrade: 5 requests/secondcancel: 2 requests/secondtransfer: 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?¶
Funds are held in the Vault.sol smart contract with per-user ledger balances. The Vault is non-custodial — Sera's off-chain services (order matching, API) never hold or control your funds. All trading operations require EIP-712 signatures from your wallet, and all settlement happens on-chain. The smart contracts are open source and have been independently audited. If Sera's off-chain services ever go down, you can withdraw your funds directly on-chain via emergency withdrawal.
What if the API goes down?¶
You can always withdraw directly through the smart contract using the emergency withdrawal mechanism:
- Call
emergencyWithdraw(token, amount)on the Sera contract - Wait ~24 hours (7,200 blocks)
- 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?¶
- Email: support@sera.cx
- Telegram: t.me/seraprotocol
- X (Twitter): @seraprotocol