> For the complete documentation index, see [llms.txt](https://docs.intentable.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.intentable.io/intent-structure/multisig-optional.md).

# MultiSig (Optional)

## Typed Struct (EIP712)

{% code overflow="wrap" %}

```solidity
Multisig(address[] external_signers,uint8 minimum_approvals)
```

{% endcode %}

## Params

| Name                | Type   |
| ------------------- | ------ |
| `external_signers`  | uint16 |
| `minimum_approvals` | uint32 |

### external\_signers

FCT supports adding accounts as an external signers that are not part of the FCT\_Runners smart contracts that execute calls. (the [from field](broken://pages/Eh3kshuEhCOeqVJGMab9#from) on each call)\
External signers can be smart contracts or external owned accounts (EOA)

### minimum\_approvals

The number of external signatures needed to be able to executing the FCT.&#x20;

{% hint style="warning" %}
The same external signer can be listed more than once to simulate levels of permissions
{% endhint %}

{% hint style="success" %}
Setting the minimum to 2 and the external signers to \[address1, address1, address2, address3] means that in order to approve the FCT, address2 and address3 need to sign, while address1 can approve the FCT exclusively.
{% endhint %}
