Custody & Collateral
Learn about custody in digital asset trading, and custody options and collateral required at Rails.
Custody
When trading digital assets (like cryptocurrencies or tokenized securities), custody refers to how your assets are secured and who holds the cryptographic "private keys" required to access and move them.
Rails Custody Models
Rails supports two custody models, based on account type:
For institutional clients, Rails supports an off-exchange settlement (OES) model.
Rails handles execution, margin, and net settlement. Assets stay under the protection of a regulated custodian throughout the trading lifecycle.
Rails does not take custody of institutional capital.
The qualified custodian attests to available collateral.
Rails treats attested balances as margin.
Only net P&L, funding, and fees are settled between parties, typically on a daily basis.
This model supports institutional treasury, risk, and compliance requirements.
For individual Rails users, funds are held in an on-chain, audited smart contract.
Unlike traditional finance, where a bank or financial institution holds physical cash or electronic records of your shares, digital assets exist on public, immutable blockchains. Whoever controls the private keys controls the assets.
Smart Contract Audits
The smart contract that holds individual funds has been independently audited, and the contract address and audit report are published on our platform intro page so you can review them directly.
This model provides full on-chain visibility and integrates directly with the Rails trading system.
User funds are secured in an audited smart contract.
The smart contract processes deposits and withdrawals.
On-chain deposit events credit user accounts in real time.
Withdrawal requests are routed through Rails based on verified balances.
Trading activity is consolidated off-chain, then validated and recorded on-chain every 30 seconds.
This approach combines fast trading performance with on-chain integrity and auditability.
Learn how to connect a wallet, or about how to fund your account.
What this means for your funds
Because your funds sit in the smart contract rather than in a private company ledger, the rules that govern deposits, withdrawals, and balances are enforced by code that anyone can inspect. Rails cannot move your funds outside of the conditions defined in that contract, and every change to your balance is anchored on-chain.
Use our Block Explorer to independently validate any transaction against its on-chain record.
Trades are matched off-chain for speed, but the resulting balances are validated and recorded on-chain roughly every 30 seconds. This means you never have to take Rails' word for your position: you can independently verify every deposit, withdrawal, fee, and settlement yourself.
Collateral
This section only applies to individual accounts, as Business Accounts use the off-exchange settlement model described above.
For individual accounts, all collateral must be deposited in USDT on a supported blockchain.
Rails handles the conversion path as part of the deposit flow using USDT's omni-chain properties. This means you can fund your account without leaving the platform, even if your USDT starts on another supported network.
What this means in practice
Individual accounts post collateral by depositing USDT through Rails.
Deposits are converted into the required collateral format during the deposit flow.
Only funds that have been successfully deposited are available as trading collateral.
Collateral in use for open positions or orders may not be available to withdraw or transfer.
Why USDT?
We choose to leverage Tether's USDT token, as USDT is the most widely accepted stablecoin in the world and has a cross-chain transfer service which makes it easy, fast and low cost to bridge other USDT tokens to other supported networks. Additionally, leveraging a single token enables clearer and more transparent tracking and auditing of funds.

Learn more about USDT & USDT0 on Tether's website.
Procuring USDT
There are a few options to procure USDT:
This is the most common path if you're starting with fiat (or, traditional currency like USD, EUR, etc.):
Create and verify an account on a reputable centralized exchange (for example, Kraken) that supports USDT.
Deposit fiat (bank transfer, card, etc.) and purchase USDT.
Withdraw the USDT to the wallet you'll link & connect to Rails.
Buy and withdraw a small amount of ETH on the same network to cover gas.
Return to Rails and follow the Deposit steps.
When withdrawing from the exchange, double-check the network and wallet address before confirming. Most exchange withdrawals are irreversible.
If you already hold another cryptocurrency (e.g. ETH, BTC, or another stablecoin), you can convert it to USDT instead of buying with fiat.
On a centralized exchange: trade your existing asset for USDT, then withdraw on a supported network.
In a self-custody wallet: use your supported wallet's built-in swap feature, or a decentralized exchange, to swap to USDT on a supported network. Keep enough of the network's native token (e.g. ETH) to cover swap and transfer gas.
After swapping, you'll still need ETH on the same network for gas before you can deposit.
Many self-custody wallets include a built-in fiat on-ramp that lets you buy USDT with a card or bank transfer and receive it directly in your wallet.
Open the buy/on-ramp feature in your supported wallet.
Select USDT and a supported network.
Complete the purchase. The USDT lands in the wallet you'll link to Rails.
Last updated
Was this helpful?

