# before_apply_transfer · FT4 Rell API · Chromia Docs (concept)

> @extendable function before_ apply_ transfer(sender_ blockchain_ rid: byte_ array, sender_ account_ id: byte_ array, recipient_ id: byte_ array, asset: ass

Source: https://docs.chromia.com/pages/ft4-rell/-f-t4-library/lib.ft4.core.crosschain/before_apply_transfer/

FUNCTION

# before\_apply\_transfer

```signature
@extendable function before_apply_transfer(sender_blockchain_rid: byte_array, sender_account_id: byte_array, recipient_id: byte_array, asset: asset, amount: big_integer, hop_index: integer, is_final: boolean)
```

[Source](https://gitlab.com/chromaway/ft4-lib/-/blob/development/rell/src/lib/ft4/core/crosschain/extensions.rell#lines-75)

Extendable function that allows the developer to add more functionality to the
`apply_transfer` function, before the transfer is applied.

This allows, for example,to check that any condition is met before the transfer is
applied on this chain.

If this function throws, the transfer will not be applied.

Throws when any extension of this function throws.

**Parameters**

* **sender\_blockchain\_rid** — the chain the transfer originated from
* **sender\_account\_id** — the account that has transferred the tokens
* **recipient\_id** — the ID of the recipient account on the end chain
* **asset** — the asset that was transferred
* **amount** — the amount that was transferred
* **hop\_index** — the IDs of the chains this transfer is going through
* **is\_final** — whether the transfer has this chain as destination

[View this page on docs.chromia.com](https://docs.chromia.com/pages/ft4-rell/-f-t4%20-library/lib.ft4.core.crosschain/before_apply_transfer.html)Generated API reference, mirrored from the live docs
