paritytech / paritytech/host-rust-core
RFC: NFT Sending (contacts)
@TorstenStueber is already working on this.
Since Sep 11, 2026.
- Dominant language
- Swift
- Stars
- 10
- Forks
- 3
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 148
Description
Description
Sending an NFT means moving it from one of my purses (#512) to a purse of the recipient. The sender picks a person from their contacts and knows nothing else about them. The recipient side is resolved without the sender learning the recipient's accounts: the item lands in the recipient's next free purse. Coinage solves the same problem for coins with receivables and invoices (RFC 0017); NFTs need the same ability.
Motivation
Currently, a product can only send NFTs between dev accounts whose derivation is public, because only the recipient's own host can derive their purses. Users cannot send an item to a real person. The Contacts API (#484) tells us who the recipient is; nothing tells us where to send the item.
Requirements
- Send an NFT to a picked contact without knowing any of their addresses.
- The sender learns at most one receiving account and nothing else about the recipient's purses.
- Sending works when the recipient is offline; delivery cannot require both people to be online at once.
- The item appears on the recipient's shelf without manual setup on their side.
- Same behaviour on every host (desktop, mobile, web).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.