> For the complete documentation index, see [llms.txt](https://nufi.gitbook.io/developer-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nufi.gitbook.io/developer-docs/metamask-snap-cardano-wallet/instructions/multipleproviders.md).

# Multiple providers

This section is relevant to you, if your dapp wants to support more than one NuFi SDK provider (Snap / NuFiConnect) or wants to use NuFiConnect with more blockchains. Note that currently only Cardano is being supported.

*The takeaway is that before accessing some provider, the last invocation of `initNufiDappCardanoSdk` has to be called with the settings matching this provider.*

### Example: Changing NuFi SDK providers

To showcase the usage please consider the below example:

* User clicks on "Metamask" icon in your dapp
* The dapp calls `initNufiDappCardanoSdk(nufiCoreSdk, 'snap')`
* Dapp can now access `window.cardano.nufiSnap`
* User is finished using the snap, disconnects and clicks on "NuFiConnect" social button
* The dapp calls `initNufiDappCardanoSdk(nufiCoreSdk, 'sso')`
* Dapp can now access `window.cardano.nufiSSO`
* Accessing `window.cardano.nufiSnap` will no longer work correctly!
* If you need to access `window.cardano.nufiSnap` again, you need to call `initNufiDappCardanoSdk(nufiCoreSdk, 'snap')` before that
