Skip to main content

core.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 core.resolveTransferLink then core.prepareTransferFromLink — 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.core.createTransferLink(args: {
recipientAssetTransferLinkHashHex: string;
path?: string;
}): Promise<{ transferLink: string }>
ParameterTypeRequiredDescription
recipientAssetTransferLinkHashHexstringyesLink hash from product Auth / receive material
pathstringnoOptional path under publicAppOrigin

Requires publicAppOrigin on SDK Plugin Config (e.g. https://tenebrae.xyz). Fails closed if unset.

// product Auth / client receive flow owns hash derivation — not core.createTransferLink.
const { transferLink } = await plugin.core.createTransferLink({
recipientAssetTransferLinkHashHex: RECIPIENT_ASSET_TRANSFER_LINK_HASH_HEX,
});
console.log(transferLink); // share (QR / copy). Sender pastes → core.resolveTransferLink → core.prepareTransferFromLink.

Sandbox twin: Core Operations · Receive.


Next