# encodeEnvelope

> **encodeEnvelope**(`input`): [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)

Defined in: [packages/filecoin-encryption-envelope/src/cose/encode.ts:60](https://github.com/FilOzone/synapse-sdk/blob/9ad84d812e1dd635b76420a7d9388555a04f31b6/packages/filecoin-encryption-envelope/src/cose/encode.ts#L60)

Encode an envelope with detached ciphertext. The caller appends the ciphertext separately. See
docs/tech-spec.md, "Blob layout".

The encoder enforces the same structural rules as `decodeEnvelope`, so it
cannot produce an envelope the decoder would reject. Protected header
rules are handled by `encodeProtectedHeader`.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `input` | [`EncodeEnvelopeInput`](/reference/filoz/filecoin-encryption-envelope/namespaces/cose/interfaces/encodeenvelopeinput/) |

## Returns

[`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array)