Documentation menu
React Native
A drop-in verification view for React Native apps, built on
react-native-vision-camera. Your backend creates the session; the view runs the capture.
Plugin installation
npm install @blink-kyc/react-native react-native-vision-cameraThe package is not on the public npm registry; access is set up together with your credentials. It builds its sources when installed — if your npm blocks install scripts, allow them for this package:
npm install-scripts approve @blink-kyc/react-nativeExpo
The SDK contains native camera code, so Expo Go cannot run it. Use a development build:
npx expo prebuild # generates ios/ and android/
npm run ios # or: npm run androidThe vision-camera config plugin writes the camera permission strings for both platforms from
app.json.
Verification flow
import { BlinkKycView } from '@blink-kyc/react-native';
export function VerifyScreen({ sessionToken, sessionId }: { sessionToken: string; sessionId: string }) {
return (
<BlinkKycView
baseUrl="https://kyc-api.blink-pay.net"
sessionToken={sessionToken}
document={{ type: 'PASSPORT' }} // or document={true} to let the customer choose
face
theme={{ accent: '#15803d' }}
onProgress={(p) => console.log(p.step)}
onComplete={(verdict) => confirmOnBackend(sessionId, verdict)}
onError={(error) => console.warn(error.code)}
/>
);
}onComplete receives the device copy of the verdict. Confirm it on your backend with the
Result API before acting.
If you don't want the drop-in view, the SDK also offers headless APIs (runBlinkFlow and the
useBlinkKyc hook), which don't need vision-camera.
Test on a real device. Document capture needs a real camera.