Skip to main content
Different events can be received depending on whether the transaction is a bridge/bridge+swap (generated through the POST/quote/bridge-swap/userendpoint) or a Smart Deposit Address involving transaction (funds are sent to an address as generated through the POST/deposit-addressesendpoint).

Bridge/bridge+swap events

The following bridge events will be sent to your webhook servers. The bridge events data structure is the same as the Bridge Status endpoint excluding the state field. The _tag field denotes the event type.
  • BRIDGE_PENDING - sent when the bridge quote is committed
  • BRIDGE_ACCEPTED - sent when the deposit transaction was received and validated
  • BRIDGE_EXECUTED - sent when the bridge is completed and received on the destination chain
  • BRIDGE_REFUNDED - when a swap is involved, the bridge might get refunded if the token price moved too much since the quote was emitted
  • BRIDGE_CANCELLED - sent when a committed bridge is CANCELLED (note that that cancelled bridges can still be actioned if a matching deposit is detected on-chain, subsequent bridge events will be sent)

Smart Deposit Addresses events

The following events will be sent to your webhook servers for any activity involving a Rhino.fi Smart Deposit Address.
  • DEPOSIT_ADDRESS_CREATED - sent when a new Smart Deposit Address is generated Event structure:
{
  _tag: "DEPOSIT_ADDRESS_CREATED",
  depositChain: string
  depositAddress: string
  destinationChain: string
  destinationAddress: string
  tokenOut?: string
  postBridgeData?: PostBridgeData
  addressNote?: string
}
  • BRIDGE_* - the same BRIDGE_PENDING, BRIDGE_ACCEPTED and BRIDGE_EXECUTED events as described above will be sent for Smart Deposit Address related activity.
  • DEPOSIT_ADDRESS_BRIDGE_REJECTED - sent when a Smart Deposit Address bridge is rejected. Event structure:
{
  _tag: "DEPOSIT_ADDRESS_BRIDGE_REJECTED",
  _id: string, // bridge ID
  tokenSymbol: string
  tokenAddress: string
  amount: string
  amountUsd: string
  amountWei: string
  sender: string // depositor address
  txHash: string // deposit transaction hash
  reason: string // reason why it was rejected, e.g "UNDER_MIN"
  createdAt: string
  depositAddress: { // associated deposit address parameters
    depositChain: string
    depositAddress: string
    destinationChain: string
    destinationAddress: string
  }
}
  • DEPOSIT_ADDRESS_BRIDGE_REJECTED - UNSUPPORTED_TOKEN - sent when a Smart Deposit Address bridge is rejected as the token sent is not supported by Rhino.fi. The full list of supported chains and assets can be found here: rhino.fi - Docs**Supported Chains - **rhino.fi - Docs. N.B Rhino.fi monitors for a selection of unsupported tokens per chain however this does not cover all scenarios where an unsupported token may be sent to an Smart Deposit Address. The event structure is:
    {
      _tag: "DEPOSIT_ADDRESS_BRIDGE_REJECTED - UNSUPPORTED_TOKEN",
      _id: string, // bridge ID
      tokenSymbol: string
      tokenAddress: string
      amount: string
      amountUsd: string
      amountWei: string
      sender: string // depositor address
      txHash: string // deposit transaction hash
      reason: string // reason why it was rejected, e.g "UNDER_MIN"
      createdAt: string
      depositAddress: { // associated deposit address parameters
        depositChain: string
        depositAddress: string
        destinationChain: string
        destinationAddress: string
      }
    }
    
  • DEPOSIT_ADDRESS_BRIDGE_DELAYED - send when a bridged transaction is taking longer than expected. This may be due to onchain congestion. The bridge transaction will be re-tried, there is no action required of the user. The event structure is:
{
  _tag: "DEPOSIT_ADDRESS_BRIDGE_DELAYED",
  _id: string, // bridge ID
  tokenSymbol: string
  tokenAddress: string
  amount: string
  amountUsd: string
  amountWei: string
  sender: string // depositor address
  txHash: string // deposit transaction hash
  originalErrorTag: string // reason why the bridge is delayed
  depositAddress: { // associated deposit address parameters
    depositChain: string
    depositAddress: string
    destinationChain: string
    destinationAddress: string
  }
}

Webhook Event Flows

Information about the transition between different webhook events can be found here