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

# Execute Proposal

> Low-level instruction to execute an approved governance proposal

# createExecuteProposalInstruction

Builds a raw instruction to execute an approved governance proposal after the timelock period has passed. Applies the proposed change -- either a VaultSettingsAction or PositionUpdate -- to the vault. This instruction is permissionless and can be called by anyone once the timelock expires.

## Usage

```typescript theme={null}
import { createExecuteProposalInstruction } from "@exponent-labs/exponent-sdk/client/vaults";
import { PublicKey, SystemProgram } from "@solana/web3.js";

const ix = createExecuteProposalInstruction({
  payer: payerKeypair.publicKey,
  vault: vaultAddress,
  proposal: proposalAddress,
  exponentPrices: exponentPricesAddress,
  systemProgram: SystemProgram.programId,
});
```

## Accounts

| Name             | Signer | Writable | Description                                    |
| ---------------- | ------ | -------- | ---------------------------------------------- |
| `payer`          | Yes    | Yes      | Fee payer for the transaction                  |
| `vault`          | No     | Yes      | Vault account to apply the proposal changes to |
| `proposal`       | No     | Yes      | Approved proposal to execute                   |
| `exponentPrices` | No     | Yes      | Exponent prices oracle account                 |
| `systemProgram`  | No     | No       | System program                                 |

## Returns

`TransactionInstruction` — a transaction instruction ready to be added to a transaction.
