> For the complete documentation index, see [llms.txt](https://openflow.gitbook.io/openflow/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://openflow.gitbook.io/openflow/smart-contract-integration/smart-contract-sdk/configure-the-sdk.md).

# Configure the SDK

Each SDK instance is configurable. If no options are provided, Openflow default options will be utilized.

### Example

```solidity
IOpenflowSdk.Options memory options = sdk.options(); // Load existing options
options.auctionDuration = 60 * 5; // Set auction duration to 5 Minutes.
options.slippageBips = 60; // Update slippage bips to 60.
options.manager = msg.sender; // Set instance manager to msg.sender.
options.managerCanSwap = true; // Allow manager to swap.
sdk.setOptions(options); // Set options
```

All current SDK options are defined [here](https://github.com/openflow-fi/openflow-contracts/blob/main/src/interfaces/IOpenflow.sol#L5). Let's review the options.

### SDK Options

<table><thead><tr><th width="197">Option</th><th>Description</th></tr></thead><tbody><tr><td>driver</td><td><ul><li>Driver is responsible for authenticating quote selection</li><li>If no driver is set anyone with the signature will be allowed to execute the signed payload. </li><li><p>Driver is user-configurable</p><ul><li>The end user does not have to trust Openflow driver multisig</li><li>If the user desires, the user can run their own decentralized multisig driver</li></ul></li></ul></td></tr><tr><td>oracle</td><td><ul><li>Oracle is responsible for determining minimum amount out for an order</li><li>If no oracle is provided the default Openflow oracle will be used</li><li>Users can use a custom oracle if desired</li></ul></td></tr><tr><td>requireOracle</td><td><ul><li>In some cases on-chain pricing is not available and a user would like to use the top quote regardless, or manually specify minimum amount to receive. In these cases requireOracle can be set to false and the user can still be certain that an auction has occurred and the best quote was selected</li></ul></td></tr><tr><td>slippageBips</td><td><ul><li>Acceptable slippage threshold denoted in BIPs</li></ul></td></tr><tr><td>auctionDuration</td><td><ul><li>Maximum duration for auction. The order is invalid after the auction ends</li></ul></td></tr><tr><td>managerCanSwap</td><td><ul><li>Manager is responsible for managing SDK option</li></ul></td></tr></tbody></table>
