# MultisigConfig.getAddress

Derives the stable native multisig account address.

Preimage (fixed-width big-endian, **not** RLP): `keccak256("tempo:multisig:account" || salt || u8(threshold) || u8(owners.length) || (owner || u8(weight)) for each owner)[12:32]`.

The address is derived once from the initial version-0 config. Config updates do not change it.

## Imports

:::code-group
```ts [Named]
import { MultisigConfig } from 'ox/tempo'
```

```ts [Entrypoint]
import * as MultisigConfig from 'ox/tempo/MultisigConfig'
```
:::

## Examples

```ts twoslash
import { MultisigConfig } from 'ox/tempo'

const initialConfig = MultisigConfig.from({
  owners: [
    {
      owner: '0x1111111111111111111111111111111111111111',
      weight: 1
    }
  ],
  threshold: 1
})

const address = MultisigConfig.getAddress(initialConfig)
```

## Definition

```ts
function getAddress(
  config: Input,
): Address.Address
```

**Source:** [src/tempo/MultisigConfig.ts](https://github.com/wevm/ox/blob/main/src/tempo/MultisigConfig.ts#L350)

## Parameters

### config

* **Type:** [`Input`](/tempo/reference/MultisigConfig/types#multisigconfiginput)

The initial multisig config.

#### config.owners

* **Type:** `readonly Owner[]`

Weighted owner list (strictly ascending by `owner` address).

#### config.salt

* **Type:** `0x${string}`
* **Optional**

Caller-chosen 32-byte salt mixed into the derived account address.
Defaults to the zero salt (`MultisigConfig.zeroSalt`) when omitted.

#### config.threshold

* **Type:** `numberType`

Minimum total owner weight required to authorize a transaction.

#### config.version

* **Type:** `versionType`
* **Optional**

Configuration version as a safe integer or bigint. Defaults to `0n`.

## Return Type

The multisig account address.

`Address.Address`
