# z.tempo.SignatureEnvelope.Keychain

Keychain signature envelope schema.

## Imports

```ts
import { z } from 'ox/zod'

z.tempo.SignatureEnvelope.Keychain
```

## Definition

```ts
export const Keychain = z.object({
  // `inner` is recursive; type the getter concretely to break the cycle.
  inner: z.lazy(
    (): z.ZodMiniType<core_SignatureEnvelope.SignatureEnvelope> =>
      Domain as never,
  ),
  keyId: z.optional(z_Address.Address),
  type: z.literal('keychain'),
  userAddress: z_Address.Address,
  version: z.optional(KeychainVersion),
})
```

**Source:** [src/zod/tempo/SignatureEnvelope.ts](https://github.com/wevm/ox/blob/main/src/zod/tempo/SignatureEnvelope.ts)
