Sandbox vs Production

How does the sandbox environment differ from the production environment?

Learn about the behaviours of the sandbox environment that allow for testing

Fiat Transfers

Deposits

  • Simulated (i.e. no funds pulled from accounts)
  • Will succeed virtually instantaneously

Withdrawals

  • Simulated (i.e. no funds sent to accounts)
  • Will succeed virtually instantaneously
  • Fund are fronted (i.e. an account with no balance will be given sufficient cash to perform the withdrawal)
    • Funds are fronted from Cybrid's funding account
    • Only fronted if NSF is initially encountered

Crypto Transfers

Deposits

  • Performed on-chain using testnets:
    • BTC: Testnet3
    • ETH: Sepolia
    • USDC on Ethereum: Sepolia
    • SOL: Testnet
    • USDC on SOL: Testnet
    • MATIC: Amoy
    • XLM: Testnet
    • USDC on Stellar: Testnet
  • Cybrid account balances will update to reflect the deposit.

Withdrawals

  • Simulated (i.e. not performed on chain)
  • Will succeed virtually instantaneously
  • Funds are fronted (i.e. an account with no balance will be given sufficient cash to perform the withdrawal)
    • Funds are fronted from Cybrid's funding account
    • Only fronted if NSF is initially encountered

Trades

  • Simulated (i.e. no movement of crypto or fiat)
  • Trades stay in the "settling" state once completed
  • Funds are fronted
    • Only fronted if NSF is initially encountered
    • Fiat is fronted from Cybrid's funding account
    • Crypto is fronted from settling trades
  • Trade quotes expire in 30 seconds in the sandbox environment, and 5 seconds in the production environment.

Why do we front funds?

We initially supported modes where banks would have to load funds into the platform for use by their customers. That gave rise to the concept of fronting funds, particularly in the case of trades. Beyond that, we find that fronting funds makes the platform easier to jump in and immediately use as you don't need to, necessarily, perform deposits before experimenting with the trades and withdrawals.

Why don't we do more on-chain?

Our liquidity providers don’t provide buy/sell on testnet so trades cannot actually be settled. If we allowed withdrawals of testnet funds, we'd end up with a confusing user experience where withdrawals would fail because they didn't have enough funds, despite the platform saying they did, if the funds were from a trade.

Why don't we transition trades to the 'completed' state?

Our liquidity providers don’t provide buy/sell on testnet so trades cannot actually be settled. For this reason, we do not perform settlement and thus cannot transition the trades to completed. In the future, we will simulate settlement so that trades do indeed progress to "completed".

Identity Verifications

Production

  • "Business" customer identity verifications (i.e. KYB) will progress to the "waiting" state and "reviewing" persona_state in the production environment.
  • The Cybrid compliance team will review and complete the approval for these identity verifications.

Sandbox

"Business" customer identity verifications (i.e. KYB) will not progress beyond the "waiting" state nor beyond the "reviewing" persona_state in the sandbox environment.