# 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](https://docs.intentable.io/intent-structure/broken-reference) 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.intentable.io/intent-structure/multisig-optional.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
