Skip to main content
POST
private/register_bridge_deposit

Body

application/json

What the client sent and was quoted.

bridge_token
string
required

The ERC20 the bridge delivers on the destination chain.

bridge_token_decimals
integer<uint8>
required

bridge_token's decimals.

Required range: x >= 0
deposit_address
string
required

One of the wallet's escrows, from public/register_deposit_address.

expected_amount
string
required

What the quote says will arrive, in bridge_token's native units, as a decimal string (Li.Fi: estimate.toAmount).

rail
string
required

Bridge protocol: lifi. (layerzero is not registrable yet.)

source_chain_id
integer<uint64>
required

Chain the bridge was sent from.

Required range: x >= 0
source_token
string
required

The ERC20 sent on the source chain.

source_tx_hash
string
required

The bridge transaction on that chain.

wallet
string
required

The session's wallet.

provider_transfer_id
string | null

The provider's own id for the transfer, kept if the source transaction is sped up or replaced: Li.Fi's quote transactionId.

tool
string | null

The route the provider chose (Li.Fi: the quote's tool). Internal only.

Response

Success

Where a deposit came from. Named apart from DepositBridgeOrigin because schemars shares one namespace and would emit an order-dependent BridgeOrigin2.

bridge_id
string
required

Unique with rail; changes if a registered source tx is replaced, so key on provider_transfer_id when present.

bridge_status
string
required

registered (reported by the client, not yet confirmed by Li.Fi) submitted (in flight) delivered (landed on the destination chain) matched (joined to the L1 deposit) failed (the bridge refunded or could not fill — nothing reached the escrow) expired (unresolved past expires_at_ms; check the source chain) unmatched (delivered, but not credited within 24h; contact support)

deposit_address
string
required

The escrow the bridge delivers to.

expected_amount
string
required

Quoted amount expected to land, in token units (estimated until quoted); receiving_amount once delivered.

expires_at_ms
integer<int64>
required

When a still-registered or submitted bridge will be marked expired.

rail
string
required

Bridge protocol: lifi or layerzero.

source_chain_id
integer<uint64>
required

Chain the user sent from.

Required range: x >= 0
source_tx_hash
string
required

Their transaction on that chain.

substatus
string
required

The rail's detail, or TOKEN_MISMATCH when the escrow cannot credit the token.

token
string
required

The ERC20 expected to land in the escrow.

delivered_at_ms
integer<int64> | null
provider_transfer_id
string | null

The provider's own id for the bridge (Li.Fi: the quote's transactionId), stable through its lifecycle.

receiving_amount
string | null

What actually arrived, native units, as a decimal string.

receiving_token
string | null
receiving_tx_hash
string | null

The bridge's delivery transaction on the destination chain.

source_address
string | null

Their wallet on that chain, lower-cased; absent when the rail gave none.