Strong Authentification

Developers can use this documentation to enable strong authentication to optimize security around card and bank account details.

What Is Strong Authentication

An optional parameter that can enabled for your account for added security is to enforce authentication for customers and withdrawers. This prevents anyone who knows a wallet address from being able to view the cards and bank accounts linked to a particular wallet address.

Implementation

Approvely uses wallet message signing authentication to validate that a particular user owns the wallet associated with their account. In order to enable this in your integration you will need to implement the signMessage function in your wallet.

📘 Please upgrade to @coinflowlabs/react > v3 and @coinflowlabs/react-native > v2

⚙️ Solana Integration

<CoinflowPurchase 
  ...
  wallet={{
    ...
    signMessage: (message: UInt8Array) => Promise<UInt8Array>;
  }} 
/>

 

EVM

import { useSignMessage } from "wagmi";

const {signMessageAsync} = useSignMessage();

const signMessage = useCallback(
  async (message: string) => {
    // It is not necessary to use wagmi you can use any custom logic to generate a valid signature for the address
    return await signMessageAsync({ message });
  },
  [signMessageAsync]
);

<CoinflowPurchase
  ...
  wallet={{
    ...
    signMessage,
  }}
 />

Enable Strong Authentication on Merchant Settings

Once you have message signing integrated for your application you can head to your settings page and enable strong authentication for your account.

🚧

Enabling this without implementing signMessage from above will break all withdraws and not allow checkout customers to view their saved cards.