fidar-web-sdk
v0.0.6
Published
Fidar Web JavaScript/TypeScript SDK
Readme
Fidar Web SDK
A modern browser-based JavaScript/TypeScript SDK for integrating Fidar Authentication, QR Device Login, Account APIs, Wallet APIs, Beneficiary Retrieval, and WebAuthn Passkey Signing.
This SDK is optimized for secure frontend-only usage, communicating directly with Fidar backend services.
Features
- QR-based Device Login
- Access Token Management
- Account & Profile APIs
- Wallet & Transaction APIs
- Beneficiary Listing
- WebAuthn Passkey Signing
- Consistent Fidar Error Handling
Note
Business flows such as Transfers and Beneficiary Creation are intentionally not bundled. They must be implemented in the application layer using backend APIs +signChallenge().
Installation
Using npm:
npm install fidar-web-sdkUsing Yarn:
yarn add fidar-web-sdkQuick Start
import { Fidar } from "fidar-web-sdk";
const fidar = new Fidar();Authentication
QR Device Login
await fidar.loginWithQR(
(status) => console.log("QR status:", status),
(qrBase64) => setQrImage(qrBase64)
);User Session
Read access token
const token = fidar.getToken();Clear user session
fidar.clearToken();Get Realm
const realm = fidar.getRealm();Profile
Get logged-in user profile
const profile = await fidar.getMyProfile();Accounts
Get account by customer ID
const account = await fidar.getAccountByCustomerId("customer123");Wallets
Get wallets
const wallets = await fidar.getWallets();Transactions
Get transactions
const transactions = await fidar.getTransactions();Beneficiaries
List beneficiaries
const beneficiaries = await fidar.getBeneficiaries();WebAuthn Passkey Signing
Sign a challenge (Base64URL)
const assertion = await fidar.signChallenge(challenge);The returned assertion can be sent to your backend for verification.
What This SDK Does NOT Do
- No transfer orchestration
- No beneficiary creation flow
- No backend business logic
- No transaction lifecycle management
This is intentional to keep the SDK:
- Secure
- Auditable
- Frontend-only
- Backend-agnostic
Error Handling
All SDK methods throw a FidarException.
import { isFidarException } from "fidar-web-sdk";
try {
await fidar.getWallets();
} catch (err) {
if (isFidarException(err)) {
console.error(err.code, err.detail);
}
}Exported Types
WalletBalance
Transaction
Beneficiary
AccountResponse
DeviceQRLoginResult
LoginWithDeviceQROptions
DeviceTokenSuccessResponse
DeviceTokenPendingResponse
DeviceAuthResponse
FidarErrorDetail
FidarErrorPropsLicense
UNLICENSED
You do not grant permission to use, copy, modify, or redistribute this SDK without explicit authorization.
