The livepeer Client is a framework agnostic client that manages state and
connection to a Livepeer provider. The createReactClient function wraps the
Client with a React-specific caching layer for faster queries.
Usage
import { createReactClient } from '@livepeer/react';
import { createReactClient } from '@livepeer/react-native';
The client can be created using createReactClient.
const client = createReactClient({
provider: studioProvider({ apiKey: "yourStudioApiKey" }),
});
Configuration
provider
Livepeer provider interface for connecting to the network.
const client = createReactClient({
provider: studioProvider({ apiKey: "yourStudioApiKey" }),
});
storage (optional)
The default strategy to persist and cache data. Used for both state management
and query caching. Defaults to window.localStorage.To disable the use of localStorage, we provide a convenient “no-op” storage
option:import {
createReactClient,
studioProvider,
noopStorage,
createStorage,
} from "@livepeer/react";
const client = createReactClient({
provider: studioProvider({ apiKey: 'yourStudioApiKey' }),
storage: createStorage({
storage: noopStorage,
}),
});
The default strategy to persist and cache data. Used for both state management
and query caching. Defaults to no storage.import AsyncStorage from '@react-native-async-storage/async-storage';
const client = createReactClient({
provider: studioProvider({ apiKey: 'yourStudioApiKey' }),
storage: createStorage({ storage: AsyncStorage }),
});
queryClient (optional)
The react-query
QueryClient used to
cache/deduplicate queries. Defaults to caching for 24 hours and no retries.
const client = createReactClient({
provider: studioProvider({ apiKey: "yourStudioApiKey" }),
queryClient: new QueryClient({
defaultOptions: {
queries: {
cacheTime: 1_000 * 60 * 60, // 1 hour
retry: 100,
},
},
}),
});
Last modified on February 18, 2026