All notable changes to this project will be documented in this page. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.Documentation Index
Fetch the complete documentation index at: https://docs.byzantine.fi/llms.txt
Use this file to discover all available pages before exploring further.
[1.19.0] - 2026-05-12
π Bug Fixes
- (nonce) Retry broadcast once after rebuilding the wallet provider
π Features
- (deploy) Add support for blue/green deployment in the workflow
[1.18.1] - 2026-05-11
π Features
- (sandbox) Auto approve applicant if sandbox mode to skip manual review
-
(email) Send email if a Bridge payment is
under review
π Bug Fixes
- (onboarding) Override address fields with Sumsub basic-Latin transliteration before sending to Bridge
[1.18.0] - 2026-05-06
π Features
- (getter) Endpoint to get pages of all the transactions of integratorβs customers ->
/get-all-transactions
π Refactor
-
(tx-types) Introduce
funds_receivedtypes for onramps - (tx-type) Introduce βbusinessβ tx type and handle βon_ramp_onlyβ tx. New response struct for transactions getters.
- (migration) Python script to populate past onramps only transactions in DB
- (clean) Remove deprecated OTP functions
[1.17.3] - 2026-04-30
π Features
- (alert) Telegram notifications when a customer is created on Bridge (success or error)
-
(env) Remember
DEPLOY_ENVvariable and skip whitelisting on sandbox - (nonce) Use the alloy cached nonce manager to prevent nonce conflicts
π Bug Fixes
-
(emails) Should send the
resubmission-requestedemail - (bridge-api) Configure timeouts for BridgeApi reqwest client
βοΈ Miscellaneous Tasks
- (emails) Update turnkey email template to v2
π Refactor
- Remove unnecessary
#[derive(Clone)]fromAppStateand service structs
[1.17.2] - 2026-04-27
π Bug Fixes
- (gas-filler) Increase estimated
gas_limitby 25% if not provided in the tx
[1.17.1] - 2026-04-23
π Bug Fixes
- (bridge-webhook) Support the new virtual account activity types (βrefund_in_flightβ, βrefund_failedβ)
-
(getter)
get-user-detailsdoes not revert if address questionnaire is empty
π Features
- (logs) Enhance error logs in case of tx failure
-
(getter) Add per chain
is_smart_accountfield and bank accounts details in/get-account-details - (logs) Enhance telegram notifications content en design
[1.17.0] - 2026-04-22
π Features
- (notify) Set up a Telegram bot to send alerts in real time
-
(simulation) Simulate transaction (
eth_simulateV1rpc call) before broadcast -
(tx-status) New transaction status for revert, and simulation failed:
revertedandsimulation-failed
π Bug Fixes
- (rounding)
/get-account-balancesreturns same number of decimals (forbalance) as the underlying asset
Clean
- Remove deprecated
/send-transaction-otpendpoint
[1.16.0] - 2026-04-17
π Features
- (multi-tx) Allow the signing of multiple transactions with one passkey prompt
-
(vault-upgrade) Implement the
/get-vault-upgrade-payload-passkey
Creates a withdrawal tx from the Base vault and a deposit tx to the Ethereum vault -
(vault-upgrade) Logic to sign and broadcast the
vault-upgradetransaction -
(transactions) Returns immediately the
transaction_hashinstead of waiting for thetransaction_receipt
Increase API response time -
(webhook) Handle
liquidation_address.drainwebhook for off-ramps status and vault-upgrades deposit tx broadcast
[1.15.3] - 2026-04-14
βοΈ Miscellaneous Tasks
- (gh-actions) Update GitHub Actions to v6
π Bug Fixes
- (webhook) Strip email suffix from Bridge customer events before user lookup
π Features
-
(doc) Restore
asset-managerendpoint + clean up swagger + protect all endpoints withintegrator-auth - (security) Protect admin swagger with a UI Basic Auth (password)
[1.15.2] - 2026-04-10
Clean
- (database) Do not use anymore the
publicschema (old indexer)
Wip
- (database) Re-arrange and rename
off_ramp_addressestab
[1.15.1] - 2026-04-09
π Features
-
(bridge) Can update Bridge customer data from
bridge_account_idwith PUT endpoint - (log) Add error logging for background transaction broadcast
π Bug Fixes
-
(kyb) Add
STATE_REGISTRYdoc in the Bridge doc mapping + fallback forbusiness_trade_name - (emails) Do not return before emails if ApplicantReviewed email for non ubos
- (bridge) Donβt send state to Bridge if not USA or Canada address
π Refactor
- (onboarding) Delete
init-account-creationandcomplete-account-creationendpoints
[1.15.0] - 2026-04-07
π Features
- (data) Split
user_nameintofirst_nameandlast_name
[1.14.5] - 2026-04-03
π Features
- (onboarding) Add applicant tags on Sumsub AND self custodial wallet support
- (migration) Migrate sumsub applicants to last up to date levels
- (logs) Display Bridge create_customer response
- (kyb) Can request entity check when adding ubos
- (kyb) Can request entity check on ApplicantReviewed ubos webhook
- (kyb) Do not request entity check if company is already approved
π Bug Fixes
- (serde) Make town optional for deserialization
- (kyb) Split the last β+β on email instead of the first one
- (kyb) Request entity check code location
- (bridge) Send postal code in Ruby regex format to Bridge API
[1.14.4] - 2026-03-27
π Bug Fixes
- (kyb) Extract company documents to send from
get_image_metadata(cannot rely on the outcome ofget_id_verification_results)
π Refactor
- (kyc) Make High Risk questionnaire for individuals mandatory
[1.14.3] - 2026-03-26
π Bug Fixes
- (kyb) Insert beneficiary in DB before creating it on Sumsub to avoid race condition
π Features
- (webhook) Update or create associated person on Bridge for Reviewed GREEN Sumsub Webhook
[1.14.2] - 2026-03-26
π Features
- (kyb) Implements endpoint
/add-associated-personand/update-associated-person
π Bug Fixes
- (kyb) Do not consume
business_activitiesbefore sending thebusiness_industryto Bridge
[1.14.1] - 2026-03-25
π Refactor
-
(webhook) Remove
AwaitingUserwebhook handler - (kyb) Make proof of source of fund document mandatory for entities
[1.14.0] - 2026-03-24
π Features
-
(patch) Implement
/update-entity-accountendpoint -
(webhook) Create Bridge business customer on
onHoldGREEN Sumsub webhook for entities
π Bug Fixes
- (onboarding) Do not request applicant check if status is already Active
-
(getters) Treat
ApproveDeposittransactions asDepositfor fiat instructions
βοΈ Miscellaneous Tasks
- chore(doc): Restructure the endpoint tags and change description
[1.13.1] - 2026-03-19
βοΈ Miscellaneous Tasks
- (getters) Enrich get-customers endpoint with verification status, timestamps and user details
π Bug Fixes
- (kyb) Remove high risk info questionnaire from entity required docs
[1.13.0] - 2026-03-19
π Features
-
(kyb) Add the
RepresentativeTitlequestionnaire in KYB flow - (kyb) Get and return the missing documents and data for an entity
- (kyb) Request sumsub validation check on associated-persons if all documents are provided
π Refactor
-
(kyb) New body for
create-entityendpoint -
(kyb) Change
EntityDocumentTypeenum to match sumsub doc type - (kyb) Enhance the way of sending docs to sumsub
-
(kyb) New logic to create a beneficiary - Database update in
ApplicantCreatedwebhook - (kyb) Make high-risk-business-activities questionnaire optionnal
βοΈ Miscellaneous Tasks
- (style) Rename
create-entitybycreate-entity-account
π Bug Fixes
- (bridge) Add +user_id suffix to email for individual customer uniqueness
- (bridge) Use Sumsub image metadata to correctly assign ID card front/back sides
[1.12.1] - 2026-03-13
π Bug Fixes
- (bridge_repository) Make
countryoptional inGetCustomerAddressReponse
βοΈ Miscellaneous Tasks
- (kyc) Verify request consistency when creating individual account
[1.12.0] - 2026-03-10
π Features
-
(onbaording) New PATCH endpoint
/update-individual-accountto modify or complete existing individual user details -
(onbaording) Can check verification documents status and return the missing docs in
create-individual-accountandupdate-individual-account -
(bridge) Create customer on Bridge when sumsub applicant is
onHoldandGREEN-> when all the sumsub checks pass -
(compliance) Save in the DB (
accountstable) the Byzantine T&C signed timestamp
π Refactor
-
(onbaording) rename
create-userbycreate-individual-account+ make all the fields optional (see the PATCH endpoint to complete the kyc) -
(onbaording) Make
bridge_account_idOptional -
(onbaording) Remove
get-tos-acceptance-linkendpoint -> use theaccount_idinstead
βοΈ Miscellaneous Tasks
- (logs) Imporve Bridge webhooks logs
[1.11.0] - 2026-03-03
π Bug Fixes
-
(emails)
BYZ_USER_IDvariable must be a string (not a UUID) -
(accounts) Correct user account role for
self_custodialaccounts creation - (getters) Fallback user details to beneficiary id if individual user does not exist
π Features
-
(getters) Enhance
get-user-detailsendpoint response and query (can be called with either userβs uuid or email) -
(getter) Enhance
get-entity-detailsendpoint response -
(getter) Implement
get-customersto return all the business and individual customers of an integrator -
(getter) Implement
get-account-detailsendpoint - (migration) Implement script and SQL migration to migrate beneficiary users for multi accounts feature
π Refactor
- Script to delete duplicate emails from DB
-
Pair
(integrator_id, email)MUST be unique in users table - Cannot create multiple individual accounts with the same email
- Fill the beneficiaries table when entity is created
- Add beneficiaries in account users junction table
-
(sumsub) Remove external_user_id from
BeneficiaryInfostructure (DONβT fail ifbeneficiary-random-*)
Optim
- Insert new account on DB when bridge_customer_id is known
- Add parallelism in sumsub webhook handler
-
Remove code duplication in
invite-usersendpoint
[1.10.0] - 2026-02-23
Clean
- (approve) Remove approval query endpoints
π Features
-
(batching) Batch approvals and deposits in
get-deposit-payload-passkey -
(batching) Batch approvals and deposits in
sign-payload-passkey
π Refactor
- New approved_vaults table for batching
[1.9.1] - 2026-02-20
π Bug Fixes
- (sumsub-data) Make sumsub postCode optional + fallback to address questionnaire
π Features
-
(getter)
get-account-balancesendpoint. Returns the positions on all Byzantine vaults (optional filter bychain_id), the current vaultprice_per_sharesand the wallet balance (idle tokens). - (getter) Add graphql_client and U256 utility for big numbers
- (getter) Define Indexer GraphQL schema and queries
- (sumsub) Add ID and share_size fields to Beneficiary struct
- (sumsub) Implement Sumsub API method to unlink beneficiaries
- (emails) Include SelfCustodial users in root-level account queries
π Refactor
- (onboarding) Sequence Sumsub questionnaire submissions
- (onboarding) Handle existing beneficiaries and re-linking to correct sumsub user
- (emails) βIncompleteβ bridge status not considered as a rejection
- (style) Improve readability of account_data handler
[1.9.0] - 2026-02-17
βοΈ Miscellaneous Tasks
- (getters) Returns the invitations user role in the getters
- (getters) Returns user_id in pending_invitations
- (getters) Returns full data in get-invitations endpoints
- (webhooks) Remove HashMap to store Bridge webhook pubkey
- (dapp-endpoints) Set account_name, user_name, and entity_name in init-account-creation
- (style) Filter out Account in invitation email
π Bug Fixes
- (getters) Customer getters donβt revert if KYC not started
- (otp) Use parent-org id for init and verify otp
- (webhooks) Bridge webhook handler doesnβt return errors anymore if account not found
- (otp) Sender and reply_to emails for init-otp
- (otp) Otp-auth cryptography bug fixes
- (webhooks) Bridge webhook handler doesnβt return errors anymore if account not found
- (onboarding) Handle existing beneficiaries in create-entity
- (onboarding) Allow bridge customer id update if previous one not found
π Features
- (dApp-endpoints) Add account id and inviter id in invitations getters
- (dApp-endpoint) Can update an inactive bridge customer id in complete-account-creation
- (database) Adds bool to know if kyc/kyb emails have already been sent
- (emails) Send KYB submitted email to root users + use bool in DB to not send duplicates
- (onbaording) Donβt recreate sumsub applicant if already exists
- (onboarding) Allow invitation of an existing user
- (emails) OTP code not alphanumeric with 6 digits
- (emails) Add VAULT_ADDR in email app link
- (emails) Customizes invite link in email
- (onboarding) Approve on sumsub and whitelist self-custodials when Bridge validate KYC
π Refactor
- (onboarding) Create beneficiaries in ApplicantAwaitingUser webhook
[1.8.1] - 2026-02-06
π Features
-
(getter) Replace
get-invitations-by-user_idbyget-invitations-by-email -
(getter) Enhance
get-entity-detailsby providing team members and roles and pedning invitations
βοΈ Miscellaneous Tasks
-
Add
onchainTxAmountin response ofget-transactions - Update invitation table + send invitation-accepted email
[1.8.0] - 2026-02-06
π Features
- (user)
/create-authenticators-otpendpoint to add a passkey from an otp session
[1.7.0] - 2026-02-05
π Features
-
(otp_auth)
init-otpendpoint to send a code to a specific email address -
(otp_auth)
otp-authendpoint to verify the otp code and generate a session token - (otp_auth) otp_sessions DB table and schemas
[1.6.0] - 2026-02-04
π Features
- (root-quorum) Endpoints to update users role / root quorum in a Byz account. See
/get-update-users-role-payload-passkeyand/update-users-role
[1.5.2] - 2026-02-03
π Features
- (database) Invitations database table
-
(getters) Can query invitations by account id (
/get_invitations_by_account_id) or user id (/get_invitations_by_user_id) - (emails) Team member invited emails
π Refactor
- (multi-user) Create OTP user by default during invitation (no passkey)
π Bug Fixes
- (endpoints) Adjust
/get-invite-users-payload-passkeyand/invite-usersendpoints with new migration
[1.5.1] - 2026-01-28
π Features
- (kyb) Sumsub proof of source of funds doc submission
- (emails) KYC/KYB rejected email
- (emails) Send finalize-deposit email if on-ramp amount doesnβt match expected amount
βοΈ Miscellaneous Tasks
- (emails) No KYC status emails for ubos
- (emails) Integrate resend templates
-
(emails) Send KYB submitted email during
ApplicantReviewedwebhook
π Bug Fixes
- (sumsub) Retries with exponential backoff for request_applicant_check
- (create-entity) Do not spam the request-applicant-check endpoint
Optim
- (speed) Create sumsub and bridge account in parallel
[1.5.0] - 2026-01-25
π Features
-
(multi-users)
invite-usersendpoint. Emails not implemented yet -
(multi-users)
get-invite-users-payload-passkeyendpoint - (multi-users) Passkey auth in invite-users endpoint
βοΈ Miscellaneous Tasks
-
(root-users) Add the
turnkey_user_idin the API database - (root-users) Stores turnkey user id for byz users
[1.4.4] - 2026-01-22
π Features
- DApp endpoints CAN accepts self custodials wallets
[1.4.3] - 2026-01-22
π Features
- Create beneficiary byz users for dApp entities.
- Fetch beneficiaries byz id from sumsub
applicant_idif needed
[1.4.2] - 2026-01-21
π Bug Fixes
- (bridge-webhook) Make amount field optional
βοΈ Miscellaneous Tasks
- (db-schemas) Update schemas to last DB version
[1.4.1] - 2026-01-16
βοΈ Miscellaneous Tasks
- (schema) New schemas for moving average
- Reduces / removes security buffer for on-ramps with same currency
[1.4.0] - 2026-01-13
π Features
-
Remove endpoints related to transactions pre-signatures
*-transaction-passkeyand old verifiers. Use now the*-payload-passkeyendpoints
βοΈ Miscellaneous Tasks
- Adapt OTP endpoints to new verifiers (OTP endpoints still not finished)
[1.3.2] - 2026-01-13
βοΈ Miscellaneous Tasks
- (schema) New indexer async vault schema
[1.3.1] - 2026-01-12
π Bug Fixes
- (deps) Update alloy version and fillers used
[1.3.0] - 2026-01-12
π Features
- (async-vault) Can withdraw from euros async vaults
[1.2.4] - 2026-01-09
π Bug Fixes
- (async-vault) Update AsyncVault struct to new indexer schema
[1.2.3] - 2026-01-09
π Bug Fixes
- (webhook-pubkey) Base64 representation of the pubkey in the .env
[1.2.2] - 2026-01-08
βοΈ Miscellaneous Tasks
- Set bridge webhook pubkeys in .env + take config variables when reading them
- Add Base support for gate contracts
[1.2.1] - 2026-01-08
Logs
- Display logs when sending applicant status emails
βοΈ Miscellaneous Tasks
- (on-ramp) Add
expected_deposit_amountin SourceDepositInstructions
π Bug Fixes
- (doc) CamelCase for payment rail virtual account data
[1.2.0] - 2026-01-08
π Features
- (async-vault) EUR Vault (aka Async Vault) indexer schema
-
(async-vault) EUR Vault logic in
/get-approve-payload-passkeyand/get-deposit-payload-passkeyquery endpoints -
(async-vault) EUR Vault logic in
/v1/submit/sign-payload-passkeyfor approvals and deposits + bridge webhook for on-ramps
[1.1.3]
π Features
- (top-vaults) Add is_asynchronous data in top_vaults table
[1.1.2] - 2026-01-07
π Documentation
- (schema) Fix OpenAPI case style in sourceDepositInstructions. Use camelCase in the doc.
[1.1.1] - 2026-01-06
π Bug Fixes
- (gas-sponsorship) Correct the digest computation
- (gas-sponsorship) Add 27 to v signature component
[1.1.0] - 2026-01-06
π Features
- (email) Design the βFunds Depositedβ email
- (email) Design the βFunds Receivedβ email
- (email) Send βFunds Depositedβ email if tx successfully executed
- (email) Send βFunds Receivedβ email if tx reverts on-chain
π Bug Fixes
- (email) Footer in gmail
- (email) Skip email notification in Sumsub webhook when user is not found
π¨ Styling
- (email) Format first name from sumsub extracted data: Remove middle names and use Pascal case
[1.0.0] - 2026-01-05
π₯ Breaking Changes
- Endpoints
/get-approve-transaction-passkey,/get-deposit-transaction-passkeyand/get-withdraw-transaction-passkeyare deprecated. - Endpoint
/virtual-account-activitywonβt support anymore the broadcasting of pre-signed transactions (only pre-signed payloads) - Field
signed_txin database stores now the signed payload, not the signed transaction.
π Features
/get-approve-payload-passkeyendpoint/get-deposit-payload-passkeyendpoint/get-withdraw-payload-passkeyendpoint- On-ramp logic in
/sign-payload-passkeyendpoint - Withdraw, approve and instant deposit logic in
/sign-payload-passkeyendpoint - Handle gas sponsorhip in bridge webhooks for on-ramps
- Verify account is delegating to atlas before creating a payload to sign
- Make
ActivateAccountRequestBodyTurnkeySignable - Use a Rust match pattern for processing the signed payload
- Sponsor Atlas
executeCalltransaction - Save the tx nonce in the DB (turnkey_transactions table)
βοΈ Miscellaneous Tasks
- Old
RequestVerifiermethods - Refactor the
TxVerifierstruct - Enhance error messages in
verify_transaction Verify_transaction->verify_transaction_old- Store the compacted signature in the DB

