# signRequest

> **signRequest**(`signer`, `chain`, `input`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`ReadRequest`](/reference/filoz/keysmith/interfaces/readrequest/)\>

Defined in: [claims.ts:267](https://github.com/FilOzone/synapse-sdk/blob/68e30a2a5457180e60a5579eb5ecff90b65894b3/packages/keysmith/src/claims.ts#L267)

Sign a request for one piece, as the chain's final bearer. Any provider holding it may serve it.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `signer` | [`ClaimSigner`](/reference/filoz/keysmith/interfaces/claimsigner/) |
| `chain` | [`ClaimChain`](/reference/filoz/keysmith/interfaces/claimchain/) |
| `input` | \{ `expires`: `number`; `pieceCid`: [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array); \} |
| `input.expires` | `number` |
| `input.pieceCid` | [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) |

## Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`ReadRequest`](/reference/filoz/keysmith/interfaces/readrequest/)\>