A Sui deposit is a single programmable transaction block that calls deposit on the Blink Move package, carrying the quote hash and a Coin holding exactly the deposit amount. There is no approval step: coin ownership is authorized by the signature on the transaction itself. The package id is 0xfdef8f5be3128429cf12d49f79cce9491e28ebd773137e5fec943139f70db95c, returned as router_address on the quote. The funds land in the shared escrow object (0x0653044beda90c13396012233d4003e396334423a326b70c2a63597a6dc81bc1), returned as escrow by GetChains; both ids together are everything needed to build the deposit.

The transaction block

  1. Collect the depositor’s coins of src_token and merge them if the balance is spread across several objects.
  2. Split off exactly amount_in.
  3. Call deposit with the escrow object, the 32-byte quote hash, and the split coin.
The type argument T is the full coin type of src_token. The only accepted token on Sui is native USDC, so src_token always equals bridge_token_src: there are no swap-first deposits and no native SUI deposits. Gasless deposits are not available on Sui.

With the SDK

buildSuiDeposit paginates the depositor’s coins, merges and splits them, and assembles the move call. It returns a Transaction ready for a wallet to sign; the wallet estimates the gas budget.
Or let the adapter handle it, which is the same path the other chains take:
Sui deposits are always a single step.

Confirmation

The transaction digest is the order’s source transaction hash. Sui checkpoints are final: the deposit is picked up as soon as its transaction lands in a checkpoint, and one confirmation is all that is ever required. Nothing else is submitted by the user. Move to Track an order.