> ## Documentation Index
> Fetch the complete documentation index at: https://docs.derive.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# private/register_bridge_deposit

> Reports a Li.Fi bridge into one of the caller's deposit addresses the moment its source transaction is sent, so public/get_pending_deposits shows it as `bridging` at once with the quoted amount, before Li.Fi indexes it. Takes the source chain and transaction, the quote's transactionId, the deposit address, the source and delivered tokens and the quoted toAmount. Idempotent per source transaction. Display only: nothing is credited from it, and a registration Li.Fi never confirms expires.



## OpenAPI

````yaml /openapi.json post /private/register_bridge_deposit
openapi: 3.1.0
info:
  title: Derive v3 API
  version: 0.2.0
  description: JSON-RPC 2.0 methods, served over WebSocket and HTTP POST.
servers:
  - url: https://api.derive.xyz/v3
    description: Production (HTTP POST base)
  - url: https://testnet.api.derive.xyz/v3
    description: Testnet (HTTP POST base)
security: []
tags:
  - name: Subaccounts
    description: >-
      List, inspect, and label subaccounts, portfolios, positions, and
      collateral.
  - name: Session Keys
    description: Register, edit, and list delegated signing keys.
  - name: Account
    description: Wallet-level account information and settings.
  - name: Orderbook
    description: Place, replace, cancel, and query orders, trigger orders, and algos.
  - name: RFQ
    description: 'Request-for-quote: send RFQs, quote, and execute block trades.'
  - name: Liquidations
    description: >-
      Open a Dutch auction against a breaching subaccount, quote the auctions
      running right now, bid on them, and review past ones.
  - name: Vault Shareholders
    description: >-
      Deposit into and withdraw from vaults, and track shares, requests, and
      performance.
  - name: Vault Curators
    description: >-
      Create and operate curated vaults: settle deposit and withdrawal requests,
      and manage vault metadata.
  - name: History
    description: >-
      Per-account historical records: orders, trades, transfers, and
      settlements.
  - name: Market Maker Protection
    description: Configure, read, and reset market-maker protection.
  - name: Transfers & Withdrawals
    description: Move collateral between subaccounts, to other wallets, and on-chain.
  - name: Onchain Actions
    description: >-
      L1 onchain actions submitted via OnchainActionManager: register deposit
      addresses, list pending deposits, and inspect onchain action history.
  - name: System
    description: Rate limits, transaction lookups, and live incidents.
  - name: Market Data
    description: Instruments, currencies, tickers, and market-wide feeds.
  - name: Maker Scoring
    description: Maker programs, score breakdowns, and detailed scoring snapshots.
  - name: Referrals
    description: Referral codes and program performance.
  - name: Other
    description: Uncategorized.
paths:
  /private/register_bridge_deposit:
    post:
      tags:
        - Onchain Actions
      summary: private/register_bridge_deposit
      description: >-
        Reports a Li.Fi bridge into one of the caller's deposit addresses the
        moment its source transaction is sent, so public/get_pending_deposits
        shows it as `bridging` at once with the quoted amount, before Li.Fi
        indexes it. Takes the source chain and transaction, the quote's
        transactionId, the deposit address, the source and delivered tokens and
        the quoted toAmount. Idempotent per source transaction. Display only:
        nothing is credited from it, and a registration Li.Fi never confirms
        expires.
      operationId: private_register_bridge_deposit
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterBridgeDepositParams'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PendingDepositBridgeOrigin'
        default:
          description: JSON-RPC error (see Error Codes)
components:
  schemas:
    RegisterBridgeDepositParams:
      description: What the client sent and was quoted.
      type: object
      required:
        - bridge_token
        - bridge_token_decimals
        - deposit_address
        - expected_amount
        - rail
        - source_chain_id
        - source_token
        - source_tx_hash
        - wallet
      properties:
        bridge_token:
          description: The ERC20 the bridge delivers on the destination chain.
          type: string
        bridge_token_decimals:
          description: '`bridge_token`''s decimals.'
          type: integer
          format: uint8
          minimum: 0
        deposit_address:
          description: One of the wallet's escrows, from `public/register_deposit_address`.
          type: string
        expected_amount:
          description: >-
            What the quote says will arrive, in `bridge_token`'s native units,
            as a decimal string (Li.Fi: `estimate.toAmount`).
          type: string
        provider_transfer_id:
          description: >-
            The provider's own id for the transfer, kept if the source
            transaction is sped up or replaced: Li.Fi's quote `transactionId`.
          default: null
          type:
            - string
            - 'null'
        rail:
          description: 'Bridge protocol: `lifi`. (`layerzero` is not registrable yet.)'
          type: string
        source_chain_id:
          description: Chain the bridge was sent from.
          type: integer
          format: uint64
          minimum: 0
        source_token:
          description: The ERC20 sent on the source chain.
          type: string
        source_tx_hash:
          description: The bridge transaction on that chain.
          type: string
        tool:
          description: >-
            The route the provider chose (Li.Fi: the quote's `tool`). Internal
            only.
          default: null
          type:
            - string
            - 'null'
        wallet:
          description: The session's wallet.
          type: string
    PendingDepositBridgeOrigin:
      description: >-
        Where a deposit came from. Named apart from `DepositBridgeOrigin`
        because schemars shares one namespace and would emit an order-dependent
        `BridgeOrigin2`.
      type: object
      required:
        - bridge_id
        - bridge_status
        - deposit_address
        - expected_amount
        - expires_at_ms
        - rail
        - source_chain_id
        - source_tx_hash
        - substatus
        - token
      properties:
        bridge_id:
          description: >-
            Unique with `rail`; changes if a registered source tx is replaced,
            so key on `provider_transfer_id` when present.
          type: string
        bridge_status:
          description: >-
            `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)
          type: string
        delivered_at_ms:
          type:
            - integer
            - 'null'
          format: int64
        deposit_address:
          description: The escrow the bridge delivers to.
          type: string
        expected_amount:
          description: >-
            Quoted amount expected to land, in `token` units (estimated until
            quoted); `receiving_amount` once delivered.
          type: string
        expires_at_ms:
          description: >-
            When a still-`registered` or `submitted` bridge will be marked
            `expired`.
          type: integer
          format: int64
        provider_transfer_id:
          description: >-
            The provider's own id for the bridge (Li.Fi: the quote's
            `transactionId`), stable through its lifecycle.
          type:
            - string
            - 'null'
        rail:
          description: 'Bridge protocol: `lifi` or `layerzero`.'
          type: string
        receiving_amount:
          description: What actually arrived, native units, as a decimal string.
          type:
            - string
            - 'null'
        receiving_token:
          type:
            - string
            - 'null'
        receiving_tx_hash:
          description: The bridge's delivery transaction on the destination chain.
          type:
            - string
            - 'null'
        source_address:
          description: >-
            Their wallet on that chain, lower-cased; absent when the rail gave
            none.
          type:
            - string
            - 'null'
        source_chain_id:
          description: Chain the user sent from.
          type: integer
          format: uint64
          minimum: 0
        source_tx_hash:
          description: Their transaction on that chain.
          type: string
        substatus:
          description: >-
            The rail's detail, or `TOKEN_MISMATCH` when the escrow cannot credit
            the token.
          type: string
        token:
          description: The ERC20 expected to land in the escrow.
          type: string

````

## Related topics

- [private/get_deposit_history](/api-reference/history/privateget_deposit_history.md)
- [public/get_pending_deposits](/api-reference/onchain-actions/publicget_pending_deposits.md)
- [Changelog](/changelog.md)
