# Ownership features in ICRC-1 standard

**URL:** https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008
**Category:** Developers
**Tags:** Discussing
**Created:** [August 8, 2023, 9:19am UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008 "2023-08-08T09:19:44Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![bbb](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/bbb/32/12101_2.png) [@bbb](https://forum.dfinity.org/u/bbb)
#### Post date: [August 8, 2023, 9:19am UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/1 "2023-08-08T09:19:44Z")

</div>

Hi, all!

I have a question regarding to ownership of ICRC-1 standard.  
In evm based blockchain platform, all tokens has owner and transferOwnership function.

I looked ICRC-1 standard source code but there is not functions related with ownership.  
Will it be added later or won’t consider about ownership of tokens on Internet Computer?

In other hands, can I add this feature by customizing token standard?

If anyone have an idea about this, please let me know.

Thanks

---

<div class="post-metadata">

### Author: ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)
#### Post date: [August 8, 2023, 9:32am UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/2 "2023-08-08T09:32:10Z")

</div>

This is already natively possible with all smart contracts on the IC, it’s called ‘controllers’. Contracts can also own other contracts.

---

<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: [August 8, 2023, 9:32am UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/3 "2023-08-08T09:32:32Z")

</div>

On the Internet Computer, all canisters have _controllers_, i.e., principals who can modify canister settings and change the code. A canister can check whether the caller is among its controllers using the system API (`ic0.is_controller` system call).

Overall, I don’t think we need another layer of token “owners” beyond the controller mechanism.

---

<div class="post-metadata">

### Author: ![bbb](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/bbb/32/12101_2.png) [@bbb](https://forum.dfinity.org/u/bbb)
#### Post date: [August 8, 2023, 1:38pm UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/4 "2023-08-08T13:38:57Z")

</div>

Thanks for your help.

Then, can canister have several controller?  
and can I add new controller and remove original controller? It’s similar to transfer ownership.

---

<div class="post-metadata">

### Author: ![sea-snake](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/sea-snake/32/7243_2.png) [@sea-snake](https://forum.dfinity.org/u/sea-snake)
#### Post date: [August 8, 2023, 2:11pm UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/5 "2023-08-08T14:11:19Z")

</div>

Yes it’s similar, a canister can have multiple controller principals. Controllers are the canister/user principals that are allowed to update/delete the canister and add/remove other controllers.

Controllers do not limit which canister methods can be called, you’ll still have to manually implement this yourself, for example the asset canister created by DFX has a list of authorized principals that are allowed to add/update/delete files.

---

<div class="post-metadata">

### Author: ![bbb](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/bbb/32/12101_2.png) [@bbb](https://forum.dfinity.org/u/bbb)
#### Post date: [August 8, 2023, 2:59pm UTC](https://forum.dfinity.org/t/ownership-features-in-icrc-1-standard/22008/6 "2023-08-08T14:59:24Z")

</div>

thank you for your reply. 😀
