# rootClaim

> **rootClaim**(`owner`, `input`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<\{ `chain`: [`ClaimChain`](/reference/filoz/keysmith/interfaces/claimchain/); `nodeKey`: [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array); \}\>

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

The root of a chain, signed by the owner's wallet: one EIP-712 prompt.
Derives the bearer's node key from the keyspace key, so the root cannot
commit to a wrong one, and hands it back to wrap for the bearer.
When the bearer is a session key, set `expires` to the session key's expiry.

## Parameters

| Parameter | Type |
| ------ | ------ |
| `owner` | [`ClaimSigner`](/reference/filoz/keysmith/interfaces/claimsigner/) |
| `input` | \{ `bearer`: `` `0x${string}` ``; `chainId`: `bigint`; `expires`: `number`; `keyspace`: `` `0x${string}` ``; `kk`: [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array); `maxDepth`: `number`; `node`: `string`; `owner`: `` `0x${string}` ``; `piece?`: [`PieceLabels`](/reference/filoz/keysmith/interfaces/piecelabels/); \} |
| `input.bearer` | `` `0x${string}` `` |
| `input.chainId` | `bigint` |
| `input.expires` | `number` |
| `input.keyspace` | `` `0x${string}` `` |
| `input.kk` | [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) |
| `input.maxDepth` | `number` |
| `input.node` | `string` |
| `input.owner` | `` `0x${string}` `` |
| `input.piece?` | [`PieceLabels`](/reference/filoz/keysmith/interfaces/piecelabels/) |

## Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<\{ `chain`: [`ClaimChain`](/reference/filoz/keysmith/interfaces/claimchain/); `nodeKey`: [`Uint8Array`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array); \}\>

## Throws

If `signer` is not the owner.