All Collections
Snowflake Safe
Developer Guide
Integrate Your App with Snowflake Safe
Integrate Your App with Snowflake Safe
Snowflake Builder avatar
Written by Snowflake Builder
Updated over a week ago

Snowflake Safe makes it possible to provide your apps and users with one of the most seamless and secure multisig experience. By integrating your app with Snowflake Safe, you open up your apps to a new set of groups and institutional users as well as instant access to the rich liquidity offered by Snowflake.

This article walks through the use of Snowflake Safe Wallet Adapter and how you can quickly integrate in just a few lines of code. Teams like Solend, Friktion, Zeta and Francium have integrated their apps to Snowflake Safe with minimal effort.

How it works

Your app is rendered inside an iframe within Snowflake Safe. By implementing Snowflake Wallet adapter in your front-end, wallet.sendTransactions method will automatically route instructions to Snowflake app for proposal creation. Below is an example of how the integration would look like.

Integration Steps

  1. Add your app url.

    Go to https://safe.snowflake.so, create a test safe and add your app url to the Snowflake app store. You can use localhost url for testing.


  2. Update your front-end code to support Snowflake Wallet Adapter.

    const wallets = useMemo(() => [new PhantomWalletAdapter(), new SnowflakeSafeWalletAdapter()], []);

    return (
    <ConnectionProvider endpoint={endpoint}>
    <WalletProvider wallets={wallets} autoConnect>
    <WalletModalProvider>{children}</WalletModalProvider>
    </WalletProvider>
    </ConnectionProvider>
    );


    You can view a sample app integration in our Github for full reference.

  3. Test the integration

    That's it. Now go to your app and test that each action results in a correct proposal created. Once you're happy with the testing, please reach out and we would be happy to add your app to Snowflake app store.

Support

We'd love to get you up and running quickly. If you have any issues, please drop in our Discord or set up a telegram group with our BD lead (TG @jeremyberemy)

Did this answer your question?