Skip to main content
Byzantine accepts both stablecoins and fiat deposits. Based on the deposit currency, the process differs slightly. A deposit into a Byzantine vault proceeeds in the following steps:
  1. Approve a Byzantine vault as a valid interaction target. This is a one-time requirement per vault.
  2. Sign the deposit transaction.
  3. [Optional - only for fiat deposits] Deposit fiat into a dedicated bank account to convert it to stablecoins, known as on-ramping.
  4. Execute the deposit transaction to transfer the stablecoins into a Byzantine vault.
The integrator will have to call different API endpoints based on the authentication method used.

1. Approving a vault

Approving a vault is an additional security measure to ensure that user’s wallet cannot interact with fraudulent smart contracts. This approval is a one-time requirement per vault, typically performed when a user interacts with a specific vault for the first time. Once approved, user does not need to repeat this step for subsequent deposits into the same vault.
  • OTP
  • Passkey
The integrator must call two API endpoints:
  1. Get approval transaction, which sends an OTP code to user’s email address.
  2. Submit approval transaction, which submits the OTP code to complete the approval. Flow to approve a vault with OTP

2. Signing the deposit transaction

  • OTP
  • Passkey
Initiating the deposit is once again a two-step transaction.
  1. Get deposit transaction, which sends an OTP code to user’s email address.
  2. Submit deposit transaction, which submits the OTP code to sign the deposit transaction. Flow to deposit with OTP

3. [Optional] Depositing fiat into bank account (on-ramping)

On-ramping assets is done via Bridge, our on- and off-ramping partner. A dedicated bank account is automatically created for each user based on their fiat currency and the vault’s currency. Once the deposit transaction is signed, the bank account details are provided to the user. The user must deposit fiat into this dedicated bank account to convert it to stablecoins. Any funds sent to the bank account are automatically converted into the vault’s currency.
This step can be skipped if user is depositing stablecoins directly.

4. [Automatic] Executing the deposit transaction

  • Stablecoins deposit
  • Fiat deposit
Once the deposit transaction is signed (step 2), the stablecoins will be transferred immediately into the Byzantine vault.
For users depositing stablecoins, the transaction is immediately broadcasted, i.e. the status is set to completed.
Transactions go through the following statuses:
  • created: The transaction has been created and is waiting to be signed.
  • waiting_for_funds: The transaction has been signed. The system is waiting for the bank transfer to trigger the broadcasting of the transaction.
  • funds_in_transfer: The funds have been scheduled to arrive with Bridge soon.
  • processing: The funds have arrived with Bridge and are currently being on-ramped.
  • completed: The transaction has been broadcasted and executed.
The transaction status can be checked by calling the Get transaction status endpoint.