# I want my canister to receive icp was informed

**URL:** <https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663>\
**Category:** Developers\
**Created:** [December 14, 2021, 3:34pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663 "2021-12-14T15:34:58Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![cwb2819259](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/cwb2819259/32/1747_2.png) [@cwb2819259](https://forum.dfinity.org/u/cwb2819259)\
**Post date:** [December 14, 2021, 3:34pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/1 "2021-12-14T15:34:58Z")

</div>

I see a white list inform canister in the code。

 ![image](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/2X/2/25ffda74d343414779ddb0d33afd69b5b12cc0e8.png)  
 ![image](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/2X/e/eacb47a286cd41638af6b439cc2209b8817d20bc.png)  
I want to know what should I do to make my canister to join white list, and have been told to get icp。  
Tank you~

---

<div class="post-metadata">

**Author:** ![diegop](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/diegop/32/569_2.png) [@diegop](https://forum.dfinity.org/u/diegop)\
**Post date:** [December 14, 2021, 4:36pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/2 "2021-12-14T16:36:31Z")

</div>

Hi there,

There no white list for this feature. Did you try using it and get an error?

See: [Canisters cannot send ICP to a wallet? - #2 by roman-kashitsyn](https://forum.dfinity.org/t/canisters-cannot-send-icp-to-a-wallet/9568/2)

---

<div class="post-metadata">

**Author:** ![roman-kashitsyn](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/roman-kashitsyn/32/3802_2.png) [@roman-kashitsyn](https://forum.dfinity.org/u/roman-kashitsyn)\
**Post date:** [December 14, 2021, 6:26pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/3 "2021-12-14T18:26:02Z")

</div>

Hi @cwb2819259! I think Diego was a bit too quick with his reply.

> what should I do to make my canister to join white list, and have been told to get icp

The `notify()` interface isn’t really “public” now. It might disappear or change significantly in the near future. Its main purpose is communication with the Cycles Minting Canisters.

It also probably doesn’t do what you think it does: the Ledger doesn’t send notifications automatically when a canister receives a payment (the Ledger can’t even tell if the receiver of the tokens is a canister). If you have a client who makes payments to your canister, the client should just notify your canister directly when the payment succeeds. I’ll try to cover these topics in more detail in the “ICP on Canisters” community conversations talk next week ([The DFINITY Foundation](https://dfinity.org/conversations/)).

---

<div class="post-metadata">

**Author:** ![cwb2819259](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/cwb2819259/32/1747_2.png) [@cwb2819259](https://forum.dfinity.org/u/cwb2819259)\
**Post date:** [December 15, 2021, 2:29am UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/4 "2021-12-15T02:29:48Z")

</div>

> [@roman-kashitsyn](#):
>
> If you have a client who makes payments to your canister, the client should just notify your canister directly when the payment succeeds.

Thanks for your reply.I will focus on your “ICP on Canisters” community conversations.  
There is a problem, if transfer notice my canister, I should realize what method to get his notice.

---

<div class="post-metadata">

**Author:** ![diegop](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/diegop/32/569_2.png) [@diegop](https://forum.dfinity.org/u/diegop)\
**Post date:** [December 15, 2021, 2:31am UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/5 "2021-12-15T02:31:17Z")

</div>

Thank you for correcting me, I was too careles, @roman-kashitsyn . Much appreciated, man.

---

<div class="post-metadata">

**Author:** ![cwb2819259](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/cwb2819259/32/1747_2.png) [@cwb2819259](https://forum.dfinity.org/u/cwb2819259)\
**Post date:** [December 15, 2021, 2:34am UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/6 "2021-12-15T02:34:00Z")

</div>

> [@diegop](#):
>
> There no white list for this feature. Did you try using it and get an error?

yes. I try to inform me of the canister receives the icp， but error.

---

<div class="post-metadata">

**Author:** ![cwb2819259](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/cwb2819259/32/1747_2.png) [@cwb2819259](https://forum.dfinity.org/u/cwb2819259)\
**Post date:** [December 15, 2021, 3:11am UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/7 "2021-12-15T03:11:36Z")

</div>

> [@diegop](#):
>
> There no white list for this feature. Did you try using it and get an error?

 ![image](https://us1.discourse-cdn.com/flex023/uploads/dfn/original/2X/8/818d36554be70270e347c5229a3c27978a8f81bc.png)

---

<div class="post-metadata">

**Author:** ![diegop](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/diegop/32/569_2.png) [@diegop](https://forum.dfinity.org/u/diegop)\
**Post date:** [December 15, 2021, 5:39am UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/8 "2021-12-15T05:39:56Z")

</div>

I realize that I did not read your original question too closely, so I think @roman-kashitsyn is the expert in this case.

---

<div class="post-metadata">

**Author:** ![roman-kashitsyn](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/roman-kashitsyn/32/3802_2.png) [@roman-kashitsyn](https://forum.dfinity.org/u/roman-kashitsyn)\
**Post date:** [December 28, 2021, 9:55pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/9 "2021-12-28T21:55:56Z")

</div>

> [@cwb2819259](#):
>
> There is a problem, if transfer notice my canister, I should realize what method to get his notice.

That’s correct, your canister needs to expose a method to accept notifications. Note however, that if anybody was allowed to call ledger `notify` method, you’d still need such a method: Ledger’s `notify` just calls `transaction_notification` method on the destination canister, just as the original caller might have done. The main difference between calling `transaction_notification` directly or doing this through the ledger’s `notify` call is the receiver of the notification will see a different values of the `caller` attribute.

It’s indeed easier to validate transactions if the notification comes directly from the ledger, but this mechanism was never intended for the general use: it scales poorly and it has security risks for the ledger canister. The `notify` mechanism is likely to be removed from the ledger interface in future.

Im my [recent community conversations talk](https://www.youtube.com/watch?v=Hm-NWwiUQZw), I described a way to validate transactions on the Ledger without relying on Ledger notifications. @anon74414410 is also working on a service that will provide a simplified payment validation mechanism: [Payments - Invoice Canister Design Review](https://forum.dfinity.org/t/payments-invoice-canister-design-review/9843)

---

<div class="post-metadata">

**Author:** ![jzxchiang](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/jzxchiang/32/2592_2.png) [@jzxchiang](https://forum.dfinity.org/u/jzxchiang)\
**Post date:** [December 28, 2021, 10:37pm UTC](https://forum.dfinity.org/t/i-want-my-canister-to-receive-icp-was-informed/9663/10 "2021-12-28T22:37:17Z")

</div>

I feel like notifying a canister of a transfer (whether by calling the ledger `notify` method or a canister’s `transaction_notification` method) is too simple for most use cases involving canisters and DeFi.

That’s why ERC-20 added `approve` and `transferFrom` instead of relying on a simple `transfer`.

They let a third-party smart contract safely send tokens on your behalf.

Or do you intend for community developers to [wrap](https://ethereum.stackexchange.com/questions/28233/how-to-do-approve-and-transferfrom-for-ether) the ICP ledger canister in a more general ERC-20-like interface?
