# Integrating Snaps

There are several ways to integrate Leap's Metamask Snaps into your dApp:

### Integrate using Wallet Adpapter

If your dApp already uses a wallet adapter to integrate with Cosmos wallets like Leap or Keplr, you can extend this existing integration to include Metamask. This is the simplest approach, as it offers a consistent interface for accessing all wallet methods and requires minimal changes on your end.

* Integrate using [Cosmos Kit](https://docs.leapwallet.io/cosmos/leap-metamask-snap/integrating-snaps/cosmos-kit)&#x20;
* Integrate using [Graz](https://github.com/graz-sh/graz)
* Integrate using Shuttle - Coming Soon

### Integrate Directly

If your dApp has its own native wallet management system, there are two routes for direct integration:

* If you are an existing Cosmos developer comfortable with using CosmJS and the Stargate signing client, we have developed a wallet provider to facilitate seamless integration. Details are available [here](https://docs.leapwallet.io/cosmos/leap-metamask-snap/integrating-snaps/cosmos-snap-provider).
* If you prefer using Metamask's native provider `(window.ethereum`) to access relevant Cosmos methods, please follow the steps [here](https://docs.leapwallet.io/cosmos/leap-metamask-snap/metamask-cosmos-snap#leapwallet-metamask-cosmos-snap).
