useTransactions
Fetch a paginated list of Stellar transactions in your React app using the Blux SDK.
The useTransactions hook returns a paginated list of Stellar transactions. All parameters are optional — called with no arguments it returns the latest transactions from the network.
Import
import { useTransactions } from "@bluxcc/react";Usage
Called with no arguments:
import { useTransactions } from "@bluxcc/react";
function App() {
const { data } = useTransactions();
}root.render(
<BluxProvider
config={{
appName: "MyApp",
networks: [networks.testnet, networks.mainnet],
}}
>
<App />
</BluxProvider>
);Combine with useBlux to fetch transactions only when the user is authenticated:
import { useTransactions, useBlux } from "@bluxcc/react";
function App() {
const { user, isAuthenticated } = useBlux();
const { data } = useTransactions(
{ forAccount: user?.address },
{ enabled: isAuthenticated }
);
}root.render(
<BluxProvider
config={{
appName: "MyApp",
networks: [networks.testnet, networks.mainnet],
}}
>
<App />
</BluxProvider>
);With filters and TanStack Query options:
import { useTransactions } from "@bluxcc/react";
function App() {
const { data, isStale } = useTransactions(
{ forLedger: 60221517 },
{ retry: 2, staleTime: 60000 }
);
}root.render(
<BluxProvider
config={{
appName: "MyApp",
networks: [networks.testnet, networks.mainnet],
}}
>
<App />
</BluxProvider>
);Always pass core parameters first, then TanStack Query options. The hook relies on this order to work correctly.
Parameters
forAccount
string | undefined
Fetch transactions for a specific Stellar account ID.
forClaimableBalance
string | undefined
Fetch transactions related to a specific claimable balance ID.
forLedger
number | string | undefined
Fetch transactions included in a specific ledger sequence.
forLiquidityPool
string | undefined
Fetch transactions related to a specific liquidity pool ID.
includeFailed
boolean | undefined
When true, includes failed transactions in the results.
cursor
string | undefined
Pagination cursor for fetching the next or previous page.
limit
number | undefined
Number of records to return per page.
network
string | undefined
The network to query. Omit to use the active network.
order
'asc' | 'desc' | undefined
Sort order for the results.
Query Options
| Option | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Set to false to disable automatic fetching |
staleTime | number | Infinity | 0 | Time in ms before data is considered stale |
gcTime | number | Infinity | 300000 | Time in ms before inactive cache data is garbage collected |
retry | boolean | number | 3 | How many times to retry on failure |
retryDelay | number | function | — | Delay in ms between retry attempts |
refetchInterval | number | false | function | — | Continuously refetch at this interval in ms |
refetchOnMount | boolean | 'always' | true | Refetch on component mount if data is stale |
refetchOnWindowFocus | boolean | 'always' | true | Refetch when the window regains focus |
refetchOnReconnect | boolean | 'always' | true | Refetch when network reconnects |
refetchIntervalInBackground | boolean | — | Keep refetching even when tab is in background |
placeholderData | GetTransactionsResult | function | — | Placeholder data shown while query is pending (not persisted to cache) |
initialData | GetTransactionsResult | function | — | Initial data for the cache (persisted) |
initialDataUpdatedAt | number | function | — | Timestamp of when initialData was last updated |
select | function | — | Transform or select a subset of the returned data |
notifyOnChangeProps | string[] | 'all' | — | Limit re-renders to specific property changes |
structuralSharing | boolean | function | true | Retain references from old data for performance |
networkMode | 'online' | 'always' | 'offlineFirst' | 'online' | Controls when queries can run relative to network status |
meta | Record<string, unknown> | — | Attach arbitrary metadata to the query cache entry |
queryClient | QueryClient | — | Use a custom QueryClient instead of the nearest context one |
Return Type
data
GetTransactionsResult | undefined
type GetTransactionsResult = {
builder: TransactionCallBuilder; // .next() and .prev() for pagination
response: Horizon.ServerApi.CollectionPage<Horizon.ServerApi.TransactionRecord>;
};Status Booleans
| Property | Type | Description |
|---|---|---|
isPending | boolean | No cached data and no completed fetch yet |
isSuccess | boolean | Query resolved successfully |
isError | boolean | Query failed |
isLoading | boolean | First fetch in-flight (isFetching && isPending) |
isFetching | boolean | Query function is currently executing |
isRefetching | boolean | Background refetch in progress |
isFetched | boolean | Query has been fetched at least once |
isFetchedAfterMount | boolean | Query fetched after component mounted |
isStale | boolean | Cached data is stale or older than staleTime |
isPlaceholderData | boolean | Currently showing placeholder data |
isLoadingError | boolean | Failed on the first fetch |
isRefetchError | boolean | Failed during a background refetch |
isPaused | boolean | Query wanted to fetch but was paused |
Other Returns
| Property | Type | Description |
|---|---|---|
status | 'pending' | 'success' | 'error' | Current query status |
fetchStatus | 'fetching' | 'idle' | 'paused' | Current fetch status |
error | null | Error | Error object if the query failed |
dataUpdatedAt | number | Timestamp of last successful fetch |
errorUpdatedAt | number | Timestamp of last error |
errorUpdateCount | number | Total number of errors |
failureCount | number | Failures since last success |
failureReason | null | Error | Reason for last retry failure |
refetch | function | Manually trigger a refetch |