# What is Caller Info?

**URL:** https://forum.dfinity.org/t/what-is-caller-info/67752
**Category:** Language Support
**Tags:** Motoko
**Created:** [April 21, 2026, 6:23pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752 "2026-04-21T18:23:12Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![skilesare](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/skilesare/32/5609_2.png) [@skilesare](https://forum.dfinity.org/u/skilesare)
#### Post date: [April 21, 2026, 6:23pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/1 "2026-04-21T18:23:12Z")

</div>

I saw these added to motoko’s Prim. What are they used for?

```auto
func callerInfoSigner() : Blob {
(prim "caller_info_signer" : () -> Blob)();
};

func callerInfoData() : Blob {
(prim "caller_info_data" : () -> Blob)();
};

```

---

<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: [April 21, 2026, 9:34pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/2 "2026-04-21T21:34:20Z")

</div>

See:

> <https://github.com/dfinity/portal/pull/6202>
>
> Enable ingress messages to carry auxiliary information about the \`caller\` in cas…e the \`caller\` is authenticated through canister signatures, which in particular includes II. This feature is needed to pass data such as identity attributes to the canister, but can also be used more broadly to include information about the user as required.
> 
> This design is based on a discussion with Dom on March 3.

> [@Identity Attributes](https://forum.dfinity.org/t/identity-attributes/64212):
>
> Summary We propose a design that allows sharing attributes associated with an Internet Identity (II) with the app a user is signing into, upon their agreement. This enables the development of II-powered apps that offer richer features with fewer distractions, such as sending email notifications without requiring most users to confirm their email addresses. Furthermore, II will evolve into a central control panel where users can specify their preferences for sharing identity attributes and with w…

[https://forum.dfinity.org/t/proposals-141500-141501-to-upgrade-ii/67754](https://forum.dfinity.org/t/proposals-141500-141501-to-upgrade-ii/67754)

It’s an additional canister signature signed payload that can be sent along with a delegation created by a canister. This enables canisters to ingest additional metadata tied to the principal.

Currently focusing on identity attributes like emails, but could in theory be anything. For example user access control roles on a platform with multiple canisters.

---

<div class="post-metadata">

### Author: ![skilesare](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/skilesare/32/5609_2.png) [@skilesare](https://forum.dfinity.org/u/skilesare)
#### Post date: [April 21, 2026, 9:59pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/3 "2026-04-21T21:59:45Z")

</div>

Fascinating. Can non-II principal providers append/sign this info as well?

So many questions…ICRC-3 is mentioned…is the canister keeping track of these somewhere? Is it public…I’d assume that emails aren’t just being written to a block log? Maybe just hashes? Is it an async request to request the data? Any more broad docs on how this all works?

---

<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: [April 22, 2026, 8:33am UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/4 "2026-04-22T08:33:14Z")

</div>

> Can non-II principal providers append/sign this info as well?  
> Yes, any canister that creates delegations can create signed info blobs as well.

> So many questions…ICRC-3 is mentioned…is the canister keeping track of these somewhere?  
> I get the confusion since ICRC-3 is mostly used for block history. We solely use it’s `Value` candid shape in II to encode data in the info blobs, there are no block logs.

Here’s a link to a mermaid diagram that details the whole flow with II: [Online FlowChart & Diagrams Editor - Mermaid Live Editor](https://mermaid.live/edit#pako:eNqNVe1u2zYUfZUL_kmCyk5U5cMW2hSNgwHu0DZIsA1YHBi0dC0TkUiNpLJ4hv_uAfaIe5Jd0tKk2G5T_zAgkvfcc8-5l1yxRKXIYmbwjwplgteCZ5oXEwn0K7m2IhEllxZ-Mah3V29v4CetpEWZ7m6Ox9_fvOLJ4_69EdxoZVWi8r0pR1wKYx2fzbbj1ru87JCJYZSL5BEm7E5kEoScsOZw5xTFdDjGkKtMyMMjOEwxx4xboSRoJ4yxR68G1wc_WqvFrLJoDlfwiEsTw_0BFlzkBwEcSF7gwQOsa7gvyiJokS0sqDm84H-l7KLBNGCQKhfSCcHzHPN3M318-SQ4fLr7-qV3ezOCUhn7GY3hGYJVJG9Tb4ckUXZSxU7dorSxk2fBNYLnB1ym4AjCn4Jy3958cKJ19H1R7sey1OoJ92dpzY2h1EiscSoSnURT3srja4BGI08h8PkfgnpLKupIUpaIqQKit1fNhiLNhHT8F9aWJj4-5mXZx2delDn2E1VMmD-5V-YuuatK5Kmhhrsd9SL4lecVQsHLuM7TIdWkFpSCWtHGntzO6obZzrIwpsKUqp9aUZCjRHQqjT_lGtRsJKcqOZk8YSLpkeMpqS7kXLW921LvbfuxgmLjfgyzXM1g_ZovGdpdT2qMI7inxtPLhx9Im3LLAzBUBbcV9dJ6X0tsT-d1O2BvwCmAaTs43wN9OYAvMH_TvASR0qQIu9wI2mKO6_Vv3ALtheMGOfO3C10ECQ0b3HuojR9T50ejShu0DUGNJKgEJIDNTdWW4j2nsjt4--A6t5xXSzwRiKfj2dCXmAtMPVoHCg79_2zpZHzjs1Lc-PqoU3eDu51ltEC6MeuQ9--df __TH1-_Hk5TKtJeiu5FAU_j37__ AXy2mie2O0q7UNtWfv15IlnACtQUldLztHIxE2YXSOHMDX6Kc17l1s3Gmo7yyqq7pUxYbHWFAdOqyhYsnvPc0FdVOjfqt605Qq_J70p1P1m8Ys8sDof9KIyGYRidXYRnpxdhwJYsHgz6URQNzocX5-FweBKF64D95ePD_snp-WkUhoNoEJ6dnLw9DRimwir9efO4-jc2YJl2tdT8vGcjVUnL4uH6P2R6hAs) if you cross reference that with the implementation in the II repo you should be able to see all details.

Work on SDK, docs and skills are ongoing.

---

<div class="post-metadata">

### Author: ![infu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/infu/32/11321_2.png) [@infu](https://forum.dfinity.org/u/infu)
#### Post date: [April 23, 2026, 8:18pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/5 "2026-04-23T20:18:50Z")

</div>

> [@sea-snake](#):
>
> It’s an additional canister signature signed payload that can be sent along with a delegation created by a canister. This enables canisters to ingest additional metadata tied to the principal.

But you could do that already - passing payload as argument and verifying the payload (certified variables). What are the benefits of sending it along with the delegation?

---

<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: [April 23, 2026, 8:45pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/6 "2026-04-23T20:45:08Z")

</div>

The BLS signature of the info payload is verified during ingress similar to the delegation BLS signature(s), avoiding the large computation cost it would have taken to verify it within the WASM itself.

This enables a canister to receive certified details regarding a given principal in canister calls without any overhead, enabling use cases like multi canister architectures, integrations between canister etc.

---

<div class="post-metadata">

### Author: ![skilesare](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/skilesare/32/5609_2.png) [@skilesare](https://forum.dfinity.org/u/skilesare)
#### Post date: [April 23, 2026, 10:13pm UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/7 "2026-04-23T22:13:22Z")

</div>

Will canisters be able to attach this data to intercanister calls?

---

<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: [April 24, 2026, 7:09am UTC](https://forum.dfinity.org/t/what-is-caller-info/67752/8 "2026-04-24T07:09:29Z")

</div>

No, it’s an extension to delegations, so it’s limited to ingress (update/query) calls.
