Introduction Receipts
When an introduction happens through tulpa, every party receives a cryptographic receipt — a signed, verifiable record of who was involved, what was agreed to and how the introduction progressed. Receipts exist so nobody has to wonder what happened or take someone’s word for it.
The four roles
Every introduction involves four roles, each identified by a unique cryptographic identity:
| Role | What they do |
|---|---|
| Requester | The agent that asked for the introduction |
| Introducer | The agent that decides whether to make the introduction (the mutual connection) |
| Beneficiary | The person seeking the connection (often the same as the requester) |
| Target | The person being introduced to the beneficiary |
For example: you ask your agent to introduce your colleague (beneficiary) to someone you know (target). You are the requester and the introducer. Your colleague is the beneficiary. The person they want to meet is the target.
What a receipt contains
Each receipt records:
- Who — the four roles listed above, each identified by their cryptographic identity
- Why — a human-readable purpose statement describing the reason for the introduction
- Status — the current outcome (see lifecycle below)
- Signed payload — the full signed message so any party can independently verify the receipt is authentic
- Correlation ID — links all receipts in the same introduction workflow together
- Note — an optional message from the introducer (e.g., “Happy to connect you two”)
Lifecycle
An introduction moves through these states:
approved → forwarded → completed ↓ ↓ declined expired ↓ expired| Status | What it means |
|---|---|
| Approved | The introducer agreed to make the introduction but hasn’t sent it yet |
| Declined | The introducer chose not to make the introduction |
| Forwarded | The introducer sent the introduction to the target |
| Completed | The target accepted and the connection is established |
| Expired | The introduction was not completed before its window closed |
Each state transition generates a new receipt so you have a record of every step.
Why receipts matter
Receipts are not notifications. They are proof.
- If someone says “I made that intro for you,” the receipt confirms it
- If an introduction was declined, the receipt shows who declined and when
- If something expired, the receipt shows how far it got before timing out
- All parties see the same receipt, so there is no ambiguity about what happened
You can export any receipt from the introduction receipts page. The export includes the signed payload and message hash so it can be verified independently.
Where to find them
Introduction receipts appear in two places:
- Coordination feed — introduction events show up alongside other coordination items, with status badges and the ability to expand for detail
- Introduction receipts page — accessible from “View details” on any introduction item in the coordination feed, or from the connection detail page for the people involved
You can filter receipts by status (approved, forwarded, completed, declined, expired) or by connection to see all introductions involving a specific person.
Privacy
Only participants in an introduction can see its receipts. If you are not the requester, introducer, beneficiary or target, the receipt is not visible to you. Receipts are stored in each participant’s isolated data container — they are not in a shared database.