> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-docs-add-b20-spec.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# IB20.transferFromWithMemo

> Generated B20 reference for transferFromWithMemo(address,address,uint256,bytes32).

[Related concept](/base-chain/specs/upgrades/beryl/b20/specification/concepts/token-lifecycle)

## Signature

```solidity theme={null}
function transferFromWithMemo(address from, address to, uint256 amount, bytes32 memo) external returns (bool);
```

| Field               | Value                                                   |
| ------------------- | ------------------------------------------------------- |
| Selector            | `0x929c2539`                                            |
| Canonical signature | `transferFromWithMemo(address,address,uint256,bytes32)` |

## Description

Same as `transferFrom`, plus emits `Memo` immediately after the standard `Transfer` event.
A memo of `bytes32(0)` is permitted.
Param: from   Source address.
Param: to     Destination address.
Param: amount Amount to transfer.
Param: memo   Off-chain memo payload.
Return: Always `true` on success.

## Access control

Read-only or ERC-20-standard access rules unless the NatSpec states otherwise.

## Policy interaction

Checks `TRANSFER_EXECUTOR_POLICY` when `msg.sender != from`, plus sender and receiver transfer scopes.

## Example

```solidity theme={null}
IB20(target).transferFromWithMemo(arg0, arg1, arg2, arg3);
```

## Related

* [IB20 reference](/base-chain/specs/upgrades/beryl/b20/specification/reference/interfaces/IB20)
* [Constants & addresses](/base-chain/specs/upgrades/beryl/b20/specification/reference/constants-and-addresses)
