# Remove Member

This instruction removes a member at the discretion of the [Config Authority](/main/development/reference/accounts.md#multisig).

## Example

```typescript
import * as multisig from "@sqds/multisig";

// Cluster Connection
const connection = new Connection( < your rpc url > );

// Fee payer is the a signer that pays the transaction fees
const feePayer = Keypair.generate();

// Derive the multisig PDA
const multisigPda = multisig.getMultisigPda({
    // The createKey has to be a Public Key, see accounts reference for more info
    createKey,
})[0];

// Public Key of the old member
const oldMember = new PublicKey("");

await multisig.rpc.multisigRemoveMember({
    connection,
    feePayer,
    // The public key of the multisig account
    multisigPda,
    // Specify the config authority Public Key if there is one, else set to null
    configAuthority: null,
    // Account paying for the rent of the additional account space needed by adding a member
    rentPayer: feePayer,
    oldMember,
    memo,
    // ProgramId of the Squads Program
    programId
    
});
```

### Notes

* Can only be used with a [Controlled Multisig](/main/development/reference/controlled-multisigs.md).


---

# 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.squads.so/main/development/typescript/instructions/controlled-multisig-instructions/remove-member.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.
