# DeFi with ICP seems temporarily crippled(on purpose? - Yes! For Now.)

**URL:** <https://forum.dfinity.org/t/defi-with-icp-seems-temporarily-crippled-on-purpose-yes-for-now/4689>\
**Category:** Language Support\
**Created:** [June 2, 2021, 10:11pm UTC](https://forum.dfinity.org/t/defi-with-icp-seems-temporarily-crippled-on-purpose-yes-for-now/4689 "2021-06-02T22:11:00Z")\
**Posts on this page:** 1\
**Showing post:** 14

<div class="post-metadata">

**Author:** ![nomeata](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/nomeata/32/733_2.png) [@nomeata](https://forum.dfinity.org/u/nomeata)\
**Post date:** [June 3, 2021, 8:28pm UTC](https://forum.dfinity.org/t/defi-with-icp-seems-temporarily-crippled-on-purpose-yes-for-now/4689/14 "2021-06-03T20:28:23Z")

</div>

No. That happens to be the case now, but that’s, IMHO, incidental.

Imagine we’d start to use “self-authenticating ids” for canisters to allow canister developers know their canister id before deploying (and using a cryptographic signature on canister creation to prove that they are in possession of that self-authenticating id).

Or conversely, imagine that maybe some users (or “users” – maybe important institutional players) get to use special opaque ids to authenticate, where the actual keys are managed by the NNS.

Or many other possible futures where the current correspondence “opaque id ⇔ canister” breaks down.

The type of principal encodes special information related to authentication (self-authenticating) or namespacing (derived ids, currently unused). It does _not_ inherently restrict what kind of entity this principal denotes.

The code in the ledger that disallows opaque ids from holding ICPs is thus, well, a bit of a hack, relying on an implementation detail of the system. And as @dmd says, will hopefully go away.

---

_[View the full topic](https://forum.dfinity.org/t/defi-with-icp-seems-temporarily-crippled-on-purpose-yes-for-now/4689)._
