> ## Documentation Index
> Fetch the complete documentation index at: https://new-docs.squads.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Controlled Multisigs Reference

## Overview

A Controlled Multisig is a multisig with a set Config Authority. This allows the config authority to manipulate the Squad's configuration without being subject to consensus, functioning as an admin.

<Warning>
  Using a Controlled Multisig is not recommended for most use cases. Understand the tradeoffs before choosing this setup.
</Warning>

## What is a Config Authority?

The `configAuthority` field in the Multisig account determines how configuration changes are made:

| Value | Behavior |
| - | - |
| `Pubkey::default()` | **Autonomous**: Config changes require voting by members |
| Any other `Pubkey` | **Controlled**: Config changes require config authority signature |

## Autonomous vs Controlled

### Autonomous Multisig (Recommended)

* Config changes go through normal proposal and voting process
* All members have input on membership and threshold changes
* Most secure for decentralized governance
* Set `configAuthority: null` when creating

```typescript theme={null}
const ix = await multisig.instructions.multisigCreateV2({
  // ... other params
  configAuthority: null, // Autonomous
});
```

### Controlled Multisig

* Config authority can make changes without voting
* Single point of control for configuration
* Useful for specific admin scenarios
* Set `configAuthority` to a specific public key

```typescript theme={null}
const ix = await multisig.instructions.multisigCreateV2({
  // ... other params
  configAuthority: adminPublicKey, // Controlled
});
```

## When to Use a Config Authority

Consider a Controlled Multisig only when:

* A single admin needs absolute control over configuration
* C-level executive requires specific config control
* Regulatory requirements mandate admin override capabilities
* Rapid configuration changes are operationally necessary

## Available Config Authority Instructions

When a multisig has a Config Authority, use these special instructions:

| Instruction | Description |
| - | - |
| [Add Member](/developers/typescript-sdk/instructions/controlled-multisig/add-member) | Add member without voting |
| [Remove Member](/developers/typescript-sdk/instructions/controlled-multisig/remove-member) | Remove member without voting |
| [Add Spending Limit](/developers/typescript-sdk/instructions/controlled-multisig/add-spending-limit) | Add spending limit without voting |
| [Remove Spending Limit](/developers/typescript-sdk/instructions/controlled-multisig/remove-spending-limit) | Remove spending limit without voting |
| [Set Rent Collector](/developers/typescript-sdk/instructions/controlled-multisig/set-rent-collector) | Set rent collector without voting |

## Security Considerations

| Risk | Mitigation |
| - | - |
| Single point of failure | Use a multisig as the config authority |
| Key compromise | Implement key rotation policies |
| Unauthorized changes | Monitor config changes |
| Loss of access | Have backup recovery procedures |

## See Also

* [Multisig Account Reference](/developers/reference/accounts#multisig)
* [Create Multisig](/developers/typescript-sdk/instructions/create-multisig)
* [Controlled Multisig Instructions](/developers/typescript-sdk/instructions/controlled-multisig/overview)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.