Skip to content

Non-Custodial Design

Sera keeps deposited assets in Ethereum smart contracts rather than an off-chain account. Its protections combine signed user instructions, contract checks and role-governed operations.

What Does Non-Custodial Mean?

Users authorize normal trading and instant-withdrawal flows with signatures, and can request emergency withdrawal directly on chain. This model reduces reliance on API availability, but still depends on the deployed contracts, role holders, governance configuration and token behavior.

What Sera Controls vs. What It Doesn't

Component Responsibility and trust boundary
Vault On-chain custody and balances; privileged methods require TRADER_ROLE or admin
Sera / SOR Enforce signed trading bounds and authorized settlement paths
API / matching Accept and match instructions, reserve collateral in accounting, coordinate settlement
Role holders / governance Control role grants, pauses and related privileged configuration

Vault's privileged methods do not independently verify a user's EIP-712 signature. Their callers must uphold the authorization and accounting invariants. Verify the actual deployed role holders and governance arrangements.

How Your Funds Stay Safe

During Trading

Deposits move tokens into the on-chain Vault. Order placement reserves available/frozen amounts in off-chain accounting, and confirmed settlement updates the chain ledger. A match can fail or revert; ledger updates consume gas. See Vault and Fees.

During Swaps

Sign the exact returned Intent, including taker, recipient, amounts and deadline. The route can use wallet funds and Vault balance. Settlement must satisfy the signed bounds; confirm the result through order and fill evidence.

If Sera Goes Offline

Call emergencyWithdraw(token, amount) directly, wait at least 7,200 blocks, then execute within the request window. A smaller positive amount is allowed and consumes the request; an expired request restarts on the next call. Balance and token transfer conditions still apply. See Emergency Withdrawal.

What If Sera's Servers Are Hacked?

A compromised API cannot simply bypass the signature checks on the normal settlement path. It can still mislead users about quotes or state, disrupt service or affect transaction submission. Compromise of privileged keys or authorized contracts has a different scope from compromise of a read-only API process.

Protect private keys and role credentials, inspect signed bounds and recipients, and reconcile results using chain evidence. These protections do not establish zero risk or make malicious signing the only possible attack path. Emergency withdrawal remains subject to its contract and token conditions.

Open Source & Auditable

All smart contracts are open source. Anyone can:

  • Read the contract code to verify the rules
  • Independently audit the contracts
  • Verify that deployed contracts match the published source code

Source availability enables independent review; confirm deployment configuration and role holders separately.

Audit Reports

Sera's smart contracts have been independently audited. See the dedicated Audit Reports page for the full list and per-contract source links, or browse the audit folder directly on GitHub.

Summary

Question Answer
Where are deposited assets? The on-chain Vault
How is normal trading authorized? Signed instructions and contract checks
Are there privileged paths? Yes; contract roles and governance must be verified
What if the API is unavailable? Use the conditional, delayed on-chain emergency-withdrawal flow
Does this eliminate attack risk? No; signatures, contracts, roles and token behavior all matter