# Icrc2\_transfer\_from memo and NNS Cycles Minting Canister

**URL:** <https://forum.dfinity.org/t/icrc2-transfer-from-memo-and-nns-cycles-minting-canister/37242>\
**Category:** Developers\
**Tags:** cycles, icrc\
**Created:** [November 12, 2024, 11:04pm UTC](https://forum.dfinity.org/t/icrc2-transfer-from-memo-and-nns-cycles-minting-canister/37242 "2024-11-12T23:04:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rem.codes](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/rem.codes/32/40260_2.png) [@rem.codes](https://forum.dfinity.org/u/rem.codes)\
**Post date:** [November 12, 2024, 11:04pm UTC](https://forum.dfinity.org/t/icrc2-transfer-from-memo-and-nns-cycles-minting-canister/37242/1 "2024-11-12T23:04:45Z")

</div>

Im trying to improve the code for converting ICP into cycles, from doing a regular `transfer` call and sending ICP to a canister, i’m now trying to do it through the `icrc2_transfer_from` which is giving me an issue.

It seems that its not possible to set the required memo that is needed for triggering a certain action on the cycles minting canister. When i’m setting the `memo` in the `TransferFromArgs` it gets translated to an `icrc1_memo` and keeps the original memo as `memo: Memo(0)` thus making it impossible to use as intended.

```rs
let args = TransferFromArgs {
        spender_subaccount: Some(Subaccount::from(user_principal).0),
        from: Account {
            owner: user_principal,
            subaccount: None,
        },
        memo: Some(Memo::from(MEMO_TOP_UP_CANISTER)),
        amount: Nat::from(icp_amount - ICP_TRANSACTION_FEE),
        fee: None,
        to: Account {
            owner: MAINNET_CYCLES_MINTING_CANISTER_ID,
            subaccount: Some(Subaccount::from(canister).0),
        },
        created_at_time: None,
    };

```

block

```auto
Block {
  parent_hash: Some([172...239]),

  transaction: Transaction {
    memo: Memo(0),
    operation: Some(Transfer {
      from: AccountIdentifier([81...227]),
      to: AccountIdentifier([35...206]),
      amount: Tokens { e8s: 4040002 },
      fee: Tokens { e8s: 10000 }
    }),
    created_at_time: Timestamp { timestamp_nanos: 1730190187068204017 },
    icrc1_memo: Some([0, 0, 0, 0, 80, 85, 80, 84])
  },

  timestamp: Timestamp { timestamp_nanos: 1730190187068204017 }
}

```
