π 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
Coinflow 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
<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 for your merchant account
Once you have message signing integrated for your application you can head to https://mechant.coinflow.cash/settings 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.
Updated about 1 month ago