createTransferLink — Receive within Tenebrae
Build a shareable private transfer link (discovery URL) so a sender can pay you while you stay offline.
Product motion: Receive within Tenebrae (Quickstart · Receive).
Where the URL is used. Your next step is share transferLink (QR / copy). The sender pastes it into Send,
calls resolveTransferLinkSenderView then
prepareTransferViaTransferLink — the URL is not passed into prepareTransfer(asset, to).
Recipient discovery is not the privacy mechanism — privacy is client-side ZK Proofs (Noir) on protocol state.
plugin.createTransferLink(args: {
recipientAssetTransferLinkHashHex: string;
path?: string;
}): Promise<{ transferLink: string }>
| Parameter | Type | Required | Description |
|---|---|---|---|
recipientAssetTransferLinkHashHex | string | yes | Link hash from Host Auth / receive material |
path | string | no | Optional path under publicAppOrigin |
Requires publicAppOrigin on SDK Plugin Config (e.g. https://tenebrae.xyz). Fails
closed if unset.
// Host Auth / client receive flow owns hash derivation — not createTransferLink.
const { transferLink } = await plugin.createTransferLink({
recipientAssetTransferLinkHashHex: RECIPIENT_ASSET_TRANSFER_LINK_HASH_HEX,
});
console.log(transferLink); // share (QR / copy). Sender pastes → resolveTransferLinkSenderView → prepareTransferViaTransferLink.
Sandbox twin: Core Operations · Receive.