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 |