> For the complete documentation index, see [llms.txt](https://int-art.gitbook.io/scripty.sol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://int-art.gitbook.io/scripty.sol/storing-scripts/using-existing-storage-solutions.md).

# Using Existing Storage Solutions

`ScriptyBuilder` is storage agnostic. You can fetch scripts from `ScriptyStorage` or from other contracts.

Your script provider contract should conform to `IContractScript`:

```solidity
interface IContractScript {
    function getScript(string memory name, uint256 contractData)
        external
        view
        returns (bytes memory);
}
```

Then, while creating your JS requests, you should use your custom storage contract address rather than `ScriptyStorage` address.

```solidity
InlineScriptRequest[] memory requests = new InlineScriptRequest[](2);
requests[0].name = "scriptyBase";
requests[0].contractAddress = scriptyStorageAddress;

requests[1].name = "someScriptFromOtherStorage";
requests[1].contractAddress = someCustomContractAddress;
```

The above example will fetch `scrityBase` script from `scriptyStorage` address and `someScriptFromOtherStorage` from `someCustomContract` address.
