UPLOAD
Implementation: supported · Proposal: in-review (status checked 2026-10-31). Upload binding has focused tests for request/result behavior; host rail support remains runtime-specific. All capabilities remain subject to change. Maturity and opt-in policy.
Shell-mediated file/blob upload over NIP-96 + Blossom rails; the shell signs auth and returns NIP-94 metadata.
ts
if (window.napplet?.upload) {
const info = await window.napplet.upload.info();
const result = await window.napplet.upload.upload({ data: blob, filename: 'pic.png' });
if (result.status === 'complete') attach(result.url, result.nip94);
}This non-normative guide defers to the living NAP-UPLOAD proposal. Feature-gate with if (window.napplet?.upload) before use; the runtime injects only available domains. Typed helpers ship from @napplet/nap/upload and @napplet/sdk.