@covalenthq/client-sdk 2.3.8 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <a href="https://goldrush.dev/products/goldrush/" target="_blank" rel="noopener noreferrer">
2
+ <a href="https://goldrush.dev/" target="_blank" rel="noopener noreferrer">
3
3
  <img alt="GoldRush TS SDK Logo" src="./repo-static/ts-sdk-banner.png" style="max-width: 100%;"/>
4
4
  </a>
5
5
  </div>
@@ -18,65 +18,61 @@
18
18
 
19
19
  # GoldRush SDK for TypeScript
20
20
 
21
- The GoldRush SDK is the fastest way to integrate the GoldRush API for working with blockchain data. The SDK works with all [supported chains](https://www.covalenthq.com/docs/networks/) including Mainnets and Testnets.
21
+ The GoldRush SDK is the fastest way to integrate the GoldRush API for working with blockchain data. The SDK works with all [supported chains](https://goldrush.dev/chains/) including Mainnets and Testnets.
22
22
 
23
23
  > Use with [`NodeJS v18`](https://nodejs.org/en) or above for best results.
24
24
 
25
- > The GoldRush API is required. You can register for a free key on [GoldRush's website](https://goldrush.dev/platform/apikey)
25
+ > The GoldRush API Key is required. You can register for a free key on [GoldRush's website](https://goldrush.dev/platform/apikey)
26
26
 
27
27
  ## Using the SDK
28
28
 
29
- > You can also follow the [video tutorial](https://www.youtube.com/watch?v=XSpPJP2w62E&ab_channel=Covalent)
30
-
31
29
  1. Install the dependencies
32
30
 
33
- ```bash
34
- npm install @covalenthq/client-sdk
35
- ```
31
+ ```bash
32
+ npm install @covalenthq/client-sdk
33
+ ```
36
34
 
37
35
  2. Create a client using the `GoldRushClient`
38
36
 
39
- ```ts
40
- import { GoldRushClient, Chains } from "@covalenthq/client-sdk";
41
-
42
- const client = new GoldRushClient("<YOUR_API_KEY>");
37
+ ```ts
38
+ import { GoldRushClient, Chains } from "@covalenthq/client-sdk";
43
39
 
44
- const ApiServices = async () => {
45
- try {
46
- const balanceResp =
47
- await client.BalanceService.getTokenBalancesForWalletAddress(
48
- "eth-mainnet",
49
- "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
50
- );
51
-
52
- if (balanceResp.error) {
53
- throw balanceResp;
54
- }
40
+ const client = new GoldRushClient("<YOUR_API_KEY>");
55
41
 
56
- console.log(balanceResp.data);
57
- } catch (error) {
58
- console.error(error);
59
- }
60
- };
61
- ```
42
+ const ApiServices = async () => {
43
+ try {
44
+ const balanceResp =
45
+ await client.BalanceService.getTokenBalancesForWalletAddress(
46
+ "eth-mainnet",
47
+ "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
48
+ );
62
49
 
63
- The `GoldRushClient` can be configured with a second object argument, `settings`, and a third argument for `streamingConfig`. The settings offered are
50
+ if (balanceResp.error) {
51
+ throw balanceResp;
52
+ }
64
53
 
65
- 1. **debug**: A boolean that enables server logs of the API calls, enhanced with the request URL, response time and code, and other settings. It is set as `false` by default.
66
- 2. **threadCount**: A number that sets the number of concurrent requests allowed. It is set as `2` by default.
67
- 3. **enableRetry**: A boolean that enables retrying the API endpoint in case of a `429 - rate limit` error. It is set as `true` by default.
68
- 4. **maxRetries**: A number that sets the number of retries to be made in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `2` by default.
69
- 5. **retryDelay**: A number that sets the delay in `ms` for retrying the API endpoint in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `2` by default.
70
- 6. **source**: A string that defines the `source` of the request of better analytics.
71
-
72
- The `streamingConfig` is optional and configures the real-time streaming service. The available options are:
73
-
74
- 1. **shouldRetry**: A function that determines whether to retry connection based on retry count. Defaults to retry up to 5 times.
75
- 2. **maxReconnectAttempts**: Maximum number of reconnection attempts. Defaults to `5`.
76
- 3. **onConnecting**: Callback function triggered when connecting to the streaming service.
77
- 4. **onOpened**: Callback function triggered when connection is successfully established.
78
- 5. **onClosed**: Callback function triggered when connection is closed.
79
- 6. **onError**: Callback function triggered when an error occurs.
54
+ console.log(balanceResp.data);
55
+ } catch (error) {
56
+ console.error(error);
57
+ }
58
+ };
59
+ ```
60
+
61
+ The `GoldRushClient` can be configured with a second object argument, `settings`, and a third argument for `streamingConfig`. The settings offered are
62
+ 1. **debug**: A boolean that enables server logs of the API calls, enhanced with the request URL, response time and code, and other settings. It is set as `false` by default.
63
+ 2. **threadCount**: A number that sets the number of concurrent requests allowed. It is set as `2` by default.
64
+ 3. **enableRetry**: A boolean that enables retrying the API endpoint in case of a `429 - rate limit` error. It is set as `true` by default.
65
+ 4. **maxRetries**: A number that sets the number of retries to be made in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `2` by default.
66
+ 5. **retryDelay**: A number that sets the delay in `ms` for retrying the API endpoint in case of `429 - rate limit` error. To be in effect, it requires `enableRetry` to be enabled. It is set as `2` by default.
67
+ 6. **source**: A string that defines the `source` of the request of better analytics.
68
+
69
+ The `streamingConfig` is optional and configures the real-time streaming service. The available options are:
70
+ 1. **shouldRetry**: A function that determines whether to retry connection based on retry count. Defaults to retry up to 5 times.
71
+ 2. **maxReconnectAttempts**: Maximum number of reconnection attempts. Defaults to `5`.
72
+ 3. **onConnecting**: Callback function triggered when connecting to the streaming service.
73
+ 4. **onOpened**: Callback function triggered when connection is successfully established.
74
+ 5. **onClosed**: Callback function triggered when connection is closed.
75
+ 6. **onError**: Callback function triggered when an error occurs.
80
76
 
81
77
  ## Features
82
78
 
@@ -97,12 +93,12 @@ For example, the following sets the `quoteCurrency` query parameter to `CAD` and
97
93
 
98
94
  ```ts
99
95
  const resp = await client.BalanceService.getTokenBalancesForWalletAddress(
100
- "eth-mainnet",
101
- "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
102
- {
103
- quoteCurrency: "CAD",
104
- nft: true,
105
- }
96
+ "eth-mainnet",
97
+ "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
98
+ {
99
+ quoteCurrency: "CAD",
100
+ nft: true,
101
+ }
106
102
  );
107
103
  ```
108
104
 
@@ -114,18 +110,18 @@ For example, explicitly typecasting the response
114
110
 
115
111
  ```ts
116
112
  import {
117
- GoldRushClient,
118
- type BalancesResponse,
119
- type BalanceItem,
113
+ GoldRushClient,
114
+ type BalancesResponse,
115
+ type BalanceItem,
120
116
  } from "@covalenthq/client-sdk";
121
117
 
122
118
  const resp = await client.BalanceService.getTokenBalancesForWalletAddress(
123
- "eth-mainnet",
124
- "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
125
- {
126
- quoteCurrency: "CAD",
127
- nft: true,
128
- }
119
+ "eth-mainnet",
120
+ "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de",
121
+ {
122
+ quoteCurrency: "CAD",
123
+ nft: true,
124
+ }
129
125
  );
130
126
 
131
127
  const data: BalancesResponse = resp.data;
@@ -151,17 +147,17 @@ For example, the following fetches ALL transactions for `0xfc43f5f9dd45258b3aff3
151
147
  import { GoldRushClient } from "@covalenthq/client-sdk";
152
148
 
153
149
  const ApiServices = async () => {
154
- const client = new GoldRushClient("<YOUR_API_KEY>");
155
- try {
156
- for await (const tx of client.TransactionService.getAllTransactionsForAddress(
157
- "eth-mainnet",
158
- "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
159
- )) {
160
- console.log("tx", tx);
150
+ const client = new GoldRushClient("<YOUR_API_KEY>");
151
+ try {
152
+ for await (const tx of client.TransactionService.getAllTransactionsForAddress(
153
+ "eth-mainnet",
154
+ "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
155
+ )) {
156
+ console.log("tx", tx);
157
+ }
158
+ } catch (error) {
159
+ console.log(error.message);
161
160
  }
162
- } catch (error) {
163
- console.log(error.message);
164
- }
165
161
  };
166
162
  ```
167
163
 
@@ -174,12 +170,12 @@ import { GoldRushClient } from "@covalenthq/client-sdk";
174
170
 
175
171
  const client = new GoldRushClient("<YOUR_API_KEY>");
176
172
  const resp = await client.TransactionService.getAllTransactionsForAddressByPage(
177
- "eth-mainnet",
178
- "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
173
+ "eth-mainnet",
174
+ "0xfc43f5f9dd45258b3aff31bdbe6561d97e8b71de"
179
175
  ); // assuming resp.data.current_page is 10
180
176
  if (resp.data !== null) {
181
- const prevPage = await resp.data.prev(); // will retrieve page 9
182
- console.log(prevPage.data);
177
+ const prevPage = await resp.data.prev(); // will retrieve page 9
178
+ console.log(prevPage.data);
183
179
  }
184
180
  ```
185
181
 
@@ -187,43 +183,43 @@ if (resp.data !== null) {
187
183
 
188
184
  1. **bigIntParser**: Formats input as a `bigint` value. For example
189
185
 
190
- ```ts
191
- bigIntParser("-123"); // -123n
192
- ```
186
+ ```ts
187
+ bigIntParser("-123"); // -123n
188
+ ```
193
189
 
194
- You can explore more examples [here](./test/unit/bigint-parser.test.ts)
190
+ You can explore more examples [here](./test/unit/bigint-parser.test.ts)
195
191
 
196
192
  2. **calculatePrettyBalance**: Formats large and raw numbers and bigints to human friendly format. For example
197
193
 
198
- ```ts
199
- calculatePrettyBalance(1.5, 3, true, 4); // "0.0015"
200
- ```
194
+ ```ts
195
+ calculatePrettyBalance(1.5, 3, true, 4); // "0.0015"
196
+ ```
201
197
 
202
- You can explore more examples [here](./test/unit/calculate-pretty-balance.test.ts)
198
+ You can explore more examples [here](./test/unit/calculate-pretty-balance.test.ts)
203
199
 
204
200
  3. **isValidApiKey**: Checks for the input as a valid GoldRush API Key. For example
205
201
 
206
- ```ts
207
- isValidApiKey(cqt_wF123); // false
208
- ```
202
+ ```ts
203
+ isValidApiKey(cqt_wF123); // false
204
+ ```
209
205
 
210
- You can explore more examples [here](./test/unit/is-valid-api-key.test.ts)
206
+ You can explore more examples [here](./test/unit/is-valid-api-key.test.ts)
211
207
 
212
208
  4. **prettifyCurrency**: Formats large and raw numbers and bigints to human friendly currency format. For example
213
209
 
214
- ```ts
215
- prettifyCurrency(89.0, 2, "CAD"); // "CA$89.00"
216
- ```
210
+ ```ts
211
+ prettifyCurrency(89.0, 2, "CAD"); // "CA$89.00"
212
+ ```
217
213
 
218
- You can explore more examples [here](./test/unit/is-valid-api-key.test.ts)
214
+ You can explore more examples [here](./test/unit/is-valid-api-key.test.ts)
219
215
 
220
216
  5. **timestampParser**: Convert ISO timestamps to various human-readable formats
221
217
 
222
- ```ts
223
- timestampParser("2024-10-16T12:39:23.000Z", "descriptive"); // "October 16 2024 at 18:09:23"
224
- ```
218
+ ```ts
219
+ timestampParser("2024-10-16T12:39:23.000Z", "descriptive"); // "October 16 2024 at 18:09:23"
220
+ ```
225
221
 
226
- You can explore more examples [here](./test/unit/timestamp-parser.test.ts)
222
+ You can explore more examples [here](./test/unit/timestamp-parser.test.ts)
227
223
 
228
224
  ### 8. Real-time Streaming
229
225
 
@@ -231,43 +227,43 @@ The GoldRush SDK now supports real-time streaming of blockchain data via WebSock
231
227
 
232
228
  ```ts
233
229
  import {
234
- GoldRushClient,
235
- StreamingChain,
236
- StreamingInterval,
237
- StreamingTimeframe,
238
- StreamingProtocol,
230
+ GoldRushClient,
231
+ StreamingChain,
232
+ StreamingInterval,
233
+ StreamingTimeframe,
234
+ StreamingProtocol,
239
235
  } from "@covalenthq/client-sdk";
240
236
 
241
237
  const client = new GoldRushClient(
242
- "<YOUR_API_KEY>",
243
- {},
244
- {
245
- onConnecting: () => console.log("Connecting to streaming service..."),
246
- onOpened: () => console.log("Connected to streaming service!"),
247
- onClosed: () => console.log("Disconnected from streaming service"),
248
- onError: (error) => console.error("Streaming error:", error),
249
- }
238
+ "<YOUR_API_KEY>",
239
+ {},
240
+ {
241
+ onConnecting: () => console.log("Connecting to streaming service..."),
242
+ onOpened: () => console.log("Connected to streaming service!"),
243
+ onClosed: () => console.log("Disconnected from streaming service"),
244
+ onError: (error) => console.error("Streaming error:", error),
245
+ }
250
246
  );
251
247
 
252
248
  // Subscribe to OHLCV data for trading pairs
253
249
  const unsubscribePairs = client.StreamingService.subscribeToOHLCVPairs(
254
- {
255
- chain_name: StreamingChain.BASE_MAINNET,
256
- pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
257
- interval: StreamingInterval.ONE_MINUTE,
258
- timeframe: StreamingTimeframe.ONE_HOUR,
259
- },
260
- {
261
- next: (data) => {
262
- console.log("Received OHLCV pair data:", data);
263
- },
264
- error: (error) => {
265
- console.error("Streaming error:", error);
266
- },
267
- complete: () => {
268
- console.log("Stream completed");
250
+ {
251
+ chain_name: StreamingChain.BASE_MAINNET,
252
+ pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
253
+ interval: StreamingInterval.ONE_MINUTE,
254
+ timeframe: StreamingTimeframe.ONE_HOUR,
269
255
  },
270
- }
256
+ {
257
+ next: (data) => {
258
+ console.log("Received OHLCV pair data:", data);
259
+ },
260
+ error: (error) => {
261
+ console.error("Streaming error:", error);
262
+ },
263
+ complete: () => {
264
+ console.log("Stream completed");
265
+ },
266
+ }
271
267
  );
272
268
 
273
269
  // Unsubscribe when done
@@ -287,37 +283,37 @@ const client = new GoldRushClient("<YOUR_API_KEY>");
287
283
 
288
284
  // Create multiple subscriptions through the same connection
289
285
  const unsubscribePairs = client.StreamingService.subscribeToOHLCVPairs(
290
- {
291
- chain_name: StreamingChain.BASE_MAINNET,
292
- pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
293
- interval: StreamingInterval.ONE_MINUTE,
294
- timeframe: StreamingTimeframe.ONE_HOUR,
295
- },
296
- {
297
- next: (data) => console.log("OHLCV Pairs:", data),
298
- }
286
+ {
287
+ chain_name: StreamingChain.BASE_MAINNET,
288
+ pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
289
+ interval: StreamingInterval.ONE_MINUTE,
290
+ timeframe: StreamingTimeframe.ONE_HOUR,
291
+ },
292
+ {
293
+ next: (data) => console.log("OHLCV Pairs:", data),
294
+ }
299
295
  );
300
296
 
301
297
  const unsubscribeTokens = client.StreamingService.subscribeToOHLCVTokens(
302
- {
303
- chain_name: StreamingChain.BASE_MAINNET,
304
- token_addresses: ["0x4B6104755AfB5Da4581B81C552DA3A25608c73B8"],
305
- interval: StreamingInterval.ONE_MINUTE,
306
- timeframe: StreamingTimeframe.ONE_HOUR,
307
- },
308
- {
309
- next: (data) => console.log("OHLCV Tokens:", data),
310
- }
298
+ {
299
+ chain_name: StreamingChain.BASE_MAINNET,
300
+ token_addresses: ["0x4B6104755AfB5Da4581B81C552DA3A25608c73B8"],
301
+ interval: StreamingInterval.ONE_MINUTE,
302
+ timeframe: StreamingTimeframe.ONE_HOUR,
303
+ },
304
+ {
305
+ next: (data) => console.log("OHLCV Tokens:", data),
306
+ }
311
307
  );
312
308
 
313
309
  const unsubscribeWallet = client.StreamingService.subscribeToWalletActivity(
314
- {
315
- chain_name: StreamingChain.BASE_MAINNET,
316
- wallet_addresses: ["0xbaed383ede0e5d9d72430661f3285daa77e9439f"],
317
- },
318
- {
319
- next: (data) => console.log("Wallet Activity:", data),
320
- }
310
+ {
311
+ chain_name: StreamingChain.BASE_MAINNET,
312
+ wallet_addresses: ["0xbaed383ede0e5d9d72430661f3285daa77e9439f"],
313
+ },
314
+ {
315
+ next: (data) => console.log("Wallet Activity:", data),
316
+ }
321
317
  );
322
318
 
323
319
  // Unsubscribe from individual streams when needed
@@ -335,8 +331,8 @@ For React applications, use the `useEffect` hook to properly manage subscription
335
331
 
336
332
  ```tsx
337
333
  useEffect(() => {
338
- const unsubscribe = client.StreamingService.rawQuery(
339
- `subscription {
334
+ const unsubscribe = client.StreamingService.rawQuery(
335
+ `subscription {
340
336
  ohlcvCandlesForPair(
341
337
  chain_name: BASE_MAINNET
342
338
  pair_addresses: ["0x9c087Eb773291e50CF6c6a90ef0F4500e349B903"],
@@ -357,18 +353,18 @@ useEffect(() => {
357
353
  timestamp
358
354
  }
359
355
  }`,
360
- {},
361
- {
362
- next: (data) => console.log("Received streaming data:", data),
363
- error: (err) => console.error("Subscription error:", err),
364
- complete: () => console.info("Subscription completed"),
365
- }
366
- );
356
+ {},
357
+ {
358
+ next: (data) => console.log("Received streaming data:", data),
359
+ error: (err) => console.error("Subscription error:", err),
360
+ complete: () => console.info("Subscription completed"),
361
+ }
362
+ );
367
363
 
368
- // Cleanup function - unsubscribe when component unmounts
369
- return () => {
370
- unsubscribe();
371
- };
364
+ // Cleanup function - unsubscribe when component unmounts
365
+ return () => {
366
+ unsubscribe();
367
+ };
372
368
  }, []);
373
369
  ```
374
370
 
@@ -378,7 +374,7 @@ You can also use raw GraphQL queries for more streamlined and selective data sce
378
374
 
379
375
  ```ts
380
376
  const unsubscribeNewPairs = client.StreamingService.rawQuery(
381
- `subscription {
377
+ `subscription {
382
378
  newPairs(
383
379
  chain_name: BASE_MAINNET,
384
380
  protocols: [UNISWAP_V2, UNISWAP_V3]
@@ -398,16 +394,16 @@ const unsubscribeNewPairs = client.StreamingService.rawQuery(
398
394
  }
399
395
  }
400
396
  }`,
401
- {},
402
- {
403
- next: (data) => console.log("Raw new pairs data:", data),
404
- error: (error) => console.error("Error:", error),
405
- }
397
+ {},
398
+ {
399
+ next: (data) => console.log("Raw new pairs data:", data),
400
+ error: (error) => console.error("Error:", error),
401
+ }
406
402
  );
407
403
 
408
404
  // Raw query for token OHLCV data
409
405
  const unsubscribeTokenOHLCV = client.StreamingService.rawQuery(
410
- `subscription {
406
+ `subscription {
411
407
  ohlcvCandlesForToken(
412
408
  chain_name: BASE_MAINNET
413
409
  token_addresses: ["0x4B6104755AfB5Da4581B81C552DA3A25608c73B8"]
@@ -429,11 +425,11 @@ const unsubscribeTokenOHLCV = client.StreamingService.rawQuery(
429
425
  }
430
426
  }
431
427
  }`,
432
- {},
433
- {
434
- next: (data) => console.log("Raw token OHLCV data:", data),
435
- error: (error) => console.error("Error:", error),
436
- }
428
+ {},
429
+ {
430
+ next: (data) => console.log("Raw token OHLCV data:", data),
431
+ error: (error) => console.error("Error:", error),
432
+ }
437
433
  );
438
434
  ```
439
435
 
@@ -459,110 +455,97 @@ The Covalent SDK provides comprehensive support for all Class A, Class B, and Pr
459
455
  1. <strong>All Chains Service</strong>: Access to the data across multiple chains and addresses.
460
456
  </summary>
461
457
 
462
- - `getAddressActivity(walletAddress: string, queryParamOpts?: GetAddressActivityQueryParamOpts): Promise<GoldRushResponse<ChainActivityResponse>>`: Locate chains where an address is active on with a single API call.
463
- - `getMultiChainMultiAddressTransactions(queryParamOpts?: GetMultiChainMultiAddressTransactionsParamOtps): Promise<GoldRushResponse<MultiChainMultiAddressTransactionsResponse>>`: Fetch and render the transactions across multiple chains and addresses
464
- - `getMultiChainBalances(walletAddress: string, queryParamOpts?: GetMultiChainBalanceQueryParamOpts): Promise<GoldRushResponse<MultiChainBalanceResponse>>`: Fetch the token balances of an address for multiple chains. (limited to 10 chains at a time)
465
- </details>
458
+ - `getAddressActivity(walletAddress: string, queryParamOpts?: GetAddressActivityQueryParamOpts): Promise<GoldRushResponse<ChainActivityResponse>>`: Commonly used to locate chains which an address is active on with a single API call.
459
+ - `getMultiChainMultiAddressTransactions(queryParamOpts?: GetMultiChainMultiAddressTransactionsParamOtps): Promise<GoldRushResponse<MultiChainMultiAddressTransactionsResponse>>`: Fetch paginated transactions for up to 10 EVM addresses and 10 EVM chains with one API call. Useful for building Activity Feeds.
460
+ - `getMultiChainBalances(walletAddress: string, queryParamOpts?: GetMultiChainBalanceQueryParamOpts): Promise<GoldRushResponse<MultiChainBalanceResponse>>`: Fetch paginated spot & historical native and token balances for a single address on up to 10 EVM chains with one API call.
461
+ </details>
466
462
 
467
463
  <details>
468
464
  <summary>
469
465
  2. <strong>Security Service</strong>: Access to the token approvals API endpoints
470
466
  </summary>
471
467
 
472
- - `getApprovals(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ApprovalsResponse>>`: Get a list of approvals across all ERC20 token contracts categorized by spenders for a wallet's assets.
473
- - `getNftApprovals(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<NftApprovalsResponse>>`: Get a list of approvals across all NFT contracts categorized by spenders for a wallet's assets.
474
- </details>
468
+ - `getApprovals(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ApprovalsResponse>>`: Commonly used to get a list of approvals across all token contracts categorized by spenders for a wallet's assets.
469
+ </details>
475
470
 
476
471
  <details>
477
472
  <summary>
478
473
  3. <strong>Balance Service</strong>: Access to the balances endpoints
479
474
  </summary>
480
475
 
481
- - `getTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`: Fetch the native, fungible (ERC20), and non-fungible (ERC721 & ERC1155) tokens held by an address. Response includes spot prices and other metadata.
482
- - `getHistoricalTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<HistoricalBalancesResponse>>`: Fetch the historical native, fungible (ERC20), and non-fungible (ERC721 & ERC1155) tokens held by an address at a given block height or date. Response includes daily prices and other metadata.
483
- - `getHistoricalPortfolioForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalPortfolioForWalletAddressQueryParamOpts): Promise<GoldRushResponse<PortfolioResponse>>`: Render a daily portfolio balance for an address broken down by the token. The timeframe is user-configurable, defaults to 30 days.
484
- - `getErc20TransfersForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): AsyncIterable<GoldRushResponse<Erc20TransfersResponse>>`: Render the transfer-in and transfer-out of a token along with historical prices from an address. (Paginated)
485
- - `getErc20TransfersForWalletAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): Promise<GoldRushResponse<Erc20TransfersResponse>>`: Render the transfer-in and transfer-out of a token along with historical prices from an address. (NonPaginated)
486
- - `getTokenHoldersV2ForTokenAddress(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): AsyncIterable<GoldRushResponse<TokenHoldersResponse>>`: Get a list of all the token holders for a specified ERC20 or ERC721 token. Returns historic token holders when block-height is set (defaults to latest). Useful for building pie charts of token holders. (Paginated)
487
- - `getTokenHoldersV2ForTokenAddressByPage(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): Promise<GoldRushResponse<TokenHoldersResponse>>`: Get a list of all the token holders for a specified ERC20 or ERC721 token. Returns historic token holders when block-height is set (defaults to latest). Useful for building pie charts of token holders. (Nonpaginated)
488
- - `getNativeTokenBalance(chainName: Chain, walletAddress: string, queryParamOpts?: GetNativeTokenBalanceQueryParamOpts): Promise<GoldRushResponse<TokenBalanceNativeResponse>>`: Get the native token balance for an address. This endpoint is required because native tokens are usually not ERC20 tokens and sometimes you want something lightweight.
489
- </details>
476
+ - `getTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`: Commonly used to fetch the native and fungible (ERC20) tokens held by an address. Response includes spot prices and other metadata.
477
+ - `getHistoricalTokenBalancesForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalTokenBalancesForWalletAddressQueryParamOpts): Promise<GoldRushResponse<HistoricalBalancesResponse>>`: Commonly used to fetch the historical native and fungible (ERC20) tokens held by an address at a given block height or date. Response includes daily prices and other metadata.
478
+ - `getHistoricalPortfolioForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetHistoricalPortfolioForWalletAddressQueryParamOpts): Promise<GoldRushResponse<PortfolioResponse>>`: Commonly used to render a daily portfolio balance for an address broken down by the token. The timeframe is user-configurable, defaults to 30 days.
479
+ - `getErc20TransfersForWalletAddress(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): AsyncIterable<GoldRushResponse<Erc20TransfersResponse>>`: Commonly used to render the transfer-in and transfer-out of a token along with historical prices from an address. (Paginated)
480
+ - `getErc20TransfersForWalletAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts: GetErc20TransfersForWalletAddressQueryParamOpts): Promise<GoldRushResponse<Erc20TransfersResponse>>`: Commonly used to render the transfer-in and transfer-out of a token along with historical prices from an address. (Nonpaginated)
481
+ - `getTokenHoldersV2ForTokenAddress(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): AsyncIterable<GoldRushResponse<TokenHoldersResponse>>`: Used to get a paginated list of current or historical token holders for a specified ERC20 or ERC721 token. (Paginated)
482
+ - `getTokenHoldersV2ForTokenAddressByPage(chainName: Chain, tokenAddress: string, queryParamOpts?: GetTokenHoldersV2ForTokenAddressQueryParamOpts): Promise<GoldRushResponse<TokenHoldersResponse>>`: Used to get a paginated list of current or historical token holders for a specified ERC20 or ERC721 token. (Nonpaginated)
483
+ - `getNativeTokenBalance(chainName: Chain, walletAddress: string, queryParamOpts?: GetNativeTokenBalanceQueryParamOpts): Promise<GoldRushResponse<TokenBalanceNativeResponse>>`: Lightweight endpoint to just get the native token balance for an EVM address.
484
+ </details>
490
485
 
491
486
  <details>
492
487
  <summary>
493
488
  4. <strong>Base Service</strong>: Access to the address activity, log events, chain status, and block retrieval endpoints
494
489
  </summary>
495
490
 
496
- - `getBlock(chainName: Chain, blockHeight: string): Promise<GoldRushResponse<BlockResponse>>`: Fetch and render a single block for a block explorer.
497
- - `getLogs(chainName: Chain, queryParamOpts?: GetLogsQueryParamOpts): Promise<GoldRushResponse<GetLogsResponse>>`: Get all the event logs of the latest block, or for a range of blocks. Includes sender contract metadata as well as decoded logs.
498
- - `getResolvedAddress(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ResolvedAddress>>`: Used to resolve ENS, RNS and Unstoppable Domains addresses.
499
- - `getBlockHeights(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): AsyncIterable<GoldRushResponse<BlockHeightsResponse>>`: Get all the block heights within a particular date range. Useful for rendering a display where you sort blocks by day. (Paginated)
500
- - `getBlockHeightsByPage(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): Promise<GoldRushResponse<BlockHeightsResponse>>`: Get all the block heights within a particular date range. Useful for rendering a display where you sort blocks by day. (Nonpaginated)
501
- - `getLogEventsByAddress(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByAddressResponse>>`: Get all the event logs emitted from a particular contract address. Useful for building dashboards that examine on-chain interactions. (Paginated)
502
- - `getLogEventsByAddressByPage(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): Promise<GoldRushResponse<LogEventsByAddressResponse>>`: Get all the event logs emitted from a particular contract address. Useful for building dashboards that examine on-chain interactions. (Nonpaginated)
503
- - `getLogEventsByTopicHash(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByTopicHashResponse>>`: Get all event logs of the same topic hash across all contracts within a particular chain. Useful for cross-sectional analysis of event logs that are emitted on-chain. (Paginated)
504
- - `getLogEventsByTopicHashByPage(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): Promise<GoldRushResponse<LogEventsByTopicHashResponse>>`: Get all event logs of the same topic hash across all contracts within a particular chain. Useful for cross-sectional analysis of event logs that are emitted on-chain. (Nonpaginated)
505
- - `getAllChains(): Promise<GoldRushResponse<AllChainsResponse>>`: Used to build internal dashboards for all supported chains on Covalent.
506
- - `getAllChainStatus(): Promise<GoldRushResponse<AllChainStatusResponse>>`: Used to build internal status dashboards of all supported chains.
491
+ - `getBlock(chainName: Chain, blockHeight: string): Promise<GoldRushResponse<BlockResponse>>`: Commonly used to fetch and render a single block for a block explorer.
492
+ - `getLogs(chainName: Chain, queryParamOpts?: GetLogsQueryParamOpts): Promise<GoldRushResponse<GetLogsResponse>>`: Commonly used to get all the event logs of the latest block, or for a range of blocks. Includes sender contract metadata as well as decoded logs.
493
+ - `getResolvedAddress(chainName: Chain, walletAddress: string): Promise<GoldRushResponse<ResolvedAddress>>`: Commonly used to resolve ENS, RNS and Unstoppable Domains addresses. Only supports the resolution of a registered domain to an address.
494
+ - `getBlockHeights(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): AsyncIterable<GoldRushResponse<BlockHeightsResponse>>`: Commonly used to get all the block heights within a particular date range. Useful for rendering a display where you sort blocks by day. (Paginated)
495
+ - `getBlockHeightsByPage(chainName: Chain, startDate: string, endDate: string | "latest", queryParamOpts?: GetBlockHeightsQueryParamOpts): Promise<GoldRushResponse<BlockHeightsResponse>>`: Commonly used to get all the block heights within a particular date range. Useful for rendering a display where you sort blocks by day. (Nonpaginated)
496
+ - `getLogEventsByAddress(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByAddressResponse>>`: Commonly used to get all the event logs emitted from a particular contract address. Useful for building dashboards that examine on-chain interactions. (Paginated)
497
+ - `getLogEventsByAddressByPage(chainName: Chain, contractAddress: string, queryParamOpts?: GetLogEventsByAddressQueryParamOpts): Promise<GoldRushResponse<LogEventsByAddressResponse>>`: Commonly used to get all the event logs emitted from a particular contract address. Useful for building dashboards that examine on-chain interactions. (Nonpaginated)
498
+ - `getLogEventsByTopicHash(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): AsyncIterable<GoldRushResponse<LogEventsByTopicHashResponse>>`: Commonly used to get all event logs of the same topic hash across all contracts within a particular chain. Useful for cross-sectional analysis of event logs that are emitted on-chain. (Paginated)
499
+ - `getLogEventsByTopicHashByPage(chainName: Chain, topicHash: string, queryParamOpts?: GetLogEventsByTopicHashQueryParamOpts): Promise<GoldRushResponse<LogEventsByTopicHashResponse>>`: Commonly used to get all event logs of the same topic hash across all contracts within a particular chain. Useful for cross-sectional analysis of event logs that are emitted on-chain. (Nonpaginated)
500
+ - `getAllChains(): Promise<GoldRushResponse<AllChainsResponse>>`: Commonly used to build internal dashboards for all supported chains on Covalent.
501
+ - `getAllChainStatus(): Promise<GoldRushResponse<AllChainStatusResponse>>`: Commonly used to build internal status dashboards of all supported chains.
507
502
  - `getGasPrices(chainName: Chain, eventType: "erc20" | "nativetokens" | "uniswapv3", queryParamOpts?: GetGasPricesQueryParamOpts): Promise<GoldRushResponse<GasPricesResponse>>`: Get real-time gas estimates for different transaction speeds on a specific network, enabling users to optimize transaction costs and confirmation times.
508
- </details>
503
+ </details>
509
504
 
510
505
  <details>
511
506
  <summary>
512
507
  5. <strong>Bitcoin Service</strong>: Access to the Bitcoin wallet endpoints
513
508
  </summary>
514
509
 
515
- - `getBitcoinHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BitcoinHdWalletBalancesResponse>>`: Fetch balances for each active child address derived from a Bitcoin HD wallet.
516
- - `getBitcoinNonHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinNonHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`: Fetch the native, fungible (ERC20), and non-fungible (ERC721 & ERC1155) tokens held by an address. Response includes spot prices and other metadata.
517
- - `getTransactionsForBtcAddress(queryParamOpts?: GetTransactionsForBitcoinAddressParamOpts): Promise<GoldRushResponse<BitcoinTransactionResponse>>`: Used to fetch the full transaction history of a Bitcoin wallet. Only supports non-HD bitcoin addresses.
518
- </details>
510
+ - `getBitcoinHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BitcoinHdWalletBalancesResponse>>`: Commonly used to fetch the historical Bitcoin balance held by an address at a given block height or date. Response includes daily prices and other metadata.
511
+ - `getBitcoinNonHdWalletBalances(walletAddress: string, queryParamOpts?: GetBitcoinNonHdWalletBalancesQueryParamOpts): Promise<GoldRushResponse<BalancesResponse>>`: Fetch Bitcoin balance for a non-HD address. Response includes spot prices and other metadata.
512
+ - `getTransactionsForBtcAddress(queryParamOpts?: GetTransactionsForBitcoinAddressParamOpts): Promise<GoldRushResponse<BitcoinTransactionResponse>>`: Used to fetch the full transaction history of a Bitcoin non-HD wallet address.
513
+ </details>
519
514
 
520
515
  <details>
521
516
  <summary>
522
517
  6. <strong>NFT Service</strong>: Access to the NFT endpoints
523
518
  </summary>
524
519
 
525
- - `getChainCollections(chainName: Chain, queryParamOpts?: GetChainCollectionsQueryParamOpts): AsyncIterable<GoldRushResponse<ChainCollectionResponse>>`: Used to fetch the list of NFT collections with downloaded and cached off chain data like token metadata and asset files. (Paginated)
526
- - `getChainCollectionsByPage(chainName: Chain, queryParamOpts?: GetChainCollectionsQueryParamOpts): Promise<GoldRushResponse<ChainCollectionResponse>>`: Used to fetch the list of NFT collections with downloaded and cached off chain data like token metadata and asset files. (Nonpaginated)
527
- - `getNftsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetNftsForAddressQueryParamOpts): Promise<GoldRushResponse<NftAddressBalanceNftResponse>>`: Used to render the NFTs (including ERC721 and ERC1155) held by an address.
528
- - `getTokenIdsForContractWithMetadata(chainName: Chain, contractAddress: string, queryParamOpts?: GetTokenIdsForContractWithMetadataQueryParamOpts): AsyncIterable<GoldRushResponse<NftMetadataResponse>>`: Get NFT token IDs with metadata from a collection. Useful for building NFT card displays. (Paginated)
529
- - `getTokenIdsForContractWithMetadataByPage(chainName: Chain, contractAddress: string, queryParamOpts?: GetTokenIdsForContractWithMetadataQueryParamOpts): Promise<GoldRushResponse<NftMetadataResponse>>`: Get NFT token IDs with metadata from a collection. Useful for building NFT card displays. (Nonpaginated)
530
- - `getNftMetadataForGivenTokenIdForContract(chainName: Chain, contractAddress: string, tokenId: string, queryParamOpts?: GetNftMetadataForGivenTokenIdForContractQueryParamOpts): Promise<GoldRushResponse<NftMetadataForGivenTokenIdResponse>>`: Get a single NFT metadata by token ID from a collection. Useful for building NFT card displays.
531
- - `getNftTransactionsForContractTokenId(chainName: Chain, contractAddress: string, tokenId: string, queryParamOpts?: GetNftTransactionsForContractTokenIdQueryParamOpts): Promise<GoldRushResponse<NftTransactionsResponse>>`: Get all transactions of an NFT token. Useful for building a transaction history table or price chart.
532
- - `getTraitsForCollection(chainName: Chain, contractAddress: string): Promise<GoldRushResponse<TraitsForCollectionResponse>>`: Used to fetch and render the traits of a collection as seen in rarity calculators.
533
- - `getAttributesForTraitInCollection(chainName: Chain, contractAddress: string, trait: string): Promise<GoldRushResponse<AttributesForTraitInCollectionResponse>>`: Used to get the count of unique values for traits within an NFT collection.
534
- - `getCollectionTraitsSummary(chainName: Chain, contractAddress: string): Promise<GoldRushResponse<CollectionTraitsSummaryResponse>>`: Used to calculate rarity scores for a collection based on its traits.
535
- - `getHistoricalFloorPricesForCollection(chainName: Chain, contractAddress: string, queryParamOpts?: GetHistoricalFloorPricesForCollectionQueryParamOpts): Promise<GoldRushResponse<HistoricalFloorPricesForCollectionResponse>>`: Commonly used to render a price floor chart for an NFT collection.
536
- - `getHistoricalVolumeForCollection(chainName: Chain, contractAddress: string, queryParamOpts?: GetHistoricalVolumeForCollectionQueryParamOpts): Promise<GoldRushResponse<HistoricalVolumeForCollectionResponse>>`: Commonly used to build a time-series chart of the transaction volume of an NFT collection.
537
- - `getHistoricalSalesCountForCollection(chainName: Chain, contractAddress: string, queryParamOpts?: GetHistoricalSalesCountForCollectionQueryParamOpts): Promise<GoldRushResponse<HistoricalSalesCountForCollectionResponse>>`: Commonly used to build a time-series chart of the sales count of an NFT collection.
538
- - `checkOwnershipInNft(chainName: Chain, contractAddress: string, walletAddress: string): Promise<GoldRushResponse<CheckOwnershipInNftResponse>>`: Used to verify ownership of NFTs (including ERC-721 and ERC-1155) within a collection.
539
- - `checkOwnershipInNftForSpecificTokenId(chainName: Chain, contractAddress: string, tokenId: string, walletAddress: string): Promise<GoldRushResponse<CheckOwnershipInNftForSpecificTokenIdResponse>>`: Used to verify ownership of a specific token (ERC-721 or ERC-1155) within a collection.
540
- </details>
520
+ - `getNftsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetNftsForAddressQueryParamOpts): Promise<GoldRushResponse<NftAddressBalanceNftResponse>>`: Commonly used to render the NFTs (including ERC721 and ERC1155) held by an address.
521
+ - `checkOwnershipInNft(chainName: Chain, walletAddress: string, collectionContract: string, queryParamOpts?: CheckOwnershipInNftQueryParamOpts): Promise<GoldRushResponse<NftOwnershipForCollectionResponse>>`: Commonly used to verify ownership of NFTs (including ERC-721 and ERC-1155) within a collection.
522
+ - `checkOwnershipInNftForSpecificTokenId(chainName: Chain, walletAddress: string, collectionContract: string, tokenId: string): Promise<GoldRushResponse<NftOwnershipForCollectionResponse>>`: Commonly used to verify ownership of a specific token (ERC-721 or ERC-1155) within a collection.
523
+ </details>
541
524
 
542
525
  <details>
543
526
  <summary>
544
527
  7. <strong>Pricing Service</strong>: Access to the historical token prices endpoint
545
528
  </summary>
546
529
 
547
- - `getTokenPrices(chainName: Chain, quoteCurrency: Quote, contractAddress: string, queryParamOpts?: GetTokenPricesQueryParamOpts): Promise<GoldRushResponse<TokenPricesResponse[]>>`: Get historic prices of a token between date ranges. Supports native tokens.
530
+ - `getTokenPrices(chainName: Chain, quoteCurrency: Quote, contractAddress: string, queryParamOpts?: GetTokenPricesQueryParamOpts): Promise<GoldRushResponse<TokenPricesResponse[]>>`: Get the historical prices of one (or many) large cap ERC20 tokens between specified date ranges. Also supports native tokens.
548
531
  - `getPoolSpotPrices(chainName: Chain, contractAddress: string, queryParamOpts?: PoolSpotPriceQueryParamsOpts): Promise<GoldRushResponse<PoolSpotPricesResponse[]>>`: Get the spot token pair prices for a specified pool contract address. Supports pools on Uniswap V2, V3 and their forks.
549
- </details>
532
+ </details>
550
533
 
551
534
  <details>
552
535
  <summary>
553
536
  8. <strong>Transaction Service</strong>: Access to the transactions endpoints
554
537
  </summary>
555
538
 
556
- - `getAllTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): AsyncIterable<GoldRushResponse<RecentTransactionsResponse>>`: Fetch and render the most recent transactions involving an address. Frequently seen in wallet applications. (Paginated)
557
- - `getAllTransactionsForAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<RecentTransactionsResponse>>`: Fetch and render the most recent transactions involving an address. Frequently seen in wallet applications. (Nonpaginated)
558
- - `getPaginatedTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: getPaginatedTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsResponse>>`: Fetch and render the most recent transactions involving an address. Frequently seen in wallet applications.
559
- - `getTransaction(chainName: Chain, txHash: string, queryParamOpts?: GetTransactionQueryParamOpts): Promise<GoldRushResponse<TransactionResponse>>`: Fetch and render a single transaction including its decoded log events. Additionally return semantically decoded information for DEX trades, lending and NFT sales.
560
- - `getTransactionsForBlockByPage(chainName: Chain, blockHeight: string, queryParamOpts?: getTransactionsForBlockByPageQueryParamOpts): Promise<GoldRushResponse<TransactionsBlockResponse>>`: Fetch all transactions including their decoded log events in a block by page number and further flag interesting wallets or transactions.
561
- - `getTransactionsForBlock(chainName: Chain, blockHash: string, queryParamOpts?: GetTransactionsForBlockQueryParamOpts): Promise<GoldRushResponse<TransactionsForBlockResponse>>`: Fetch all transactions including their decoded log events in a block by block hash and further flag interesting wallets or transactions.
562
- - `getTransactionSummary(chainName: Chain, walletAddress: string, queryParamOpts?: GetTransactionSummaryQueryParamOpts): Promise<GoldRushResponse<TransactionsSummaryResponse>>`: Fetch the earliest and latest transactions, and the transaction count for a wallet. Calculate the age of the wallet and the time it has been idle and quickly gain insights into their engagement with web3.
563
- - `getTimeBucketTransactionsForAddress(chainName: Chain, walletAddress: string, timeBucket: number, queryParamOpts?: GetTimeBucketTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsTimeBucketResponse>>`: Fetch all transactions including their decoded log events in a 15-minute time bucket interval.
564
- - `getEarliestTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetEarliestTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<EarliestTransactionsForAddressResponse>>`: Fetch and render the earliest transactions involving an address. Frequently seen in wallet applications.
565
- </details>
539
+ - `getAllTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): AsyncIterable<GoldRushResponse<RecentTransactionsResponse>>`: Commonly used to fetch and render the most recent transactions involving an address. Frequently seen in wallet applications. (Paginated)
540
+ - `getAllTransactionsForAddressByPage(chainName: Chain, walletAddress: string, queryParamOpts?: GetAllTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<RecentTransactionsResponse>>`: Commonly used to fetch and render the most recent transactions involving an address. Frequently seen in wallet applications. (Nonpaginated)
541
+ - `getPaginatedTransactionsForAddress(chainName: Chain, walletAddress: string, page: number, queryParamOpts?: getPaginatedTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsResponse>>`: Commonly used to fetch the transactions involving an address including the decoded log events in a paginated fashion.
542
+ - `getTransaction(chainName: Chain, txHash: string, queryParamOpts?: GetTransactionQueryParamOpts): Promise<GoldRushResponse<TransactionResponse>>`: Used to fetch and render a single transaction including its decoded event logs. For foundational chains, can also retrieve internal transactions, state changes and method ID where available.
543
+ - `getTransactionsForBlockByPage(chainName: Chain, blockHeight: number | string | "latest", page: number, queryParamOpts?: getTransactionsForBlockByPageQueryParamOpts): Promise<GoldRushResponse<TransactionsBlockResponse>>`: Commonly used to fetch all transactions including their decoded log events in a block and further flag interesting wallets or transactions.
544
+ - `getTransactionsForBlock(chainName: Chain, blockHash: string, queryParamOpts?: getTransactionsForBlockByPageQueryParamOpts): Promise<GoldRushResponse<TransactionsForBlockResponse>>`: Commonly used to fetch all transactions including their decoded log events in a block and further flag interesting wallets or transactions.
545
+ - `getTransactionSummary(chainName: Chain, walletAddress: string, queryParamOpts?: GetTransactionSummaryQueryParamOpts): Promise<GoldRushResponse<TransactionsSummaryResponse>>`: Used to fetch the earliest and latest transactions, and the transaction count for a wallet. Also enriched with gas expenditure details and total ERC20 token transfers count.
546
+ - `getTimeBucketTransactionsForAddress(chainName: Chain, walletAddress: string, timeBucket: number, queryParamOpts?: GetTimeBucketTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<TransactionsTimeBucketResponse>>`: Commonly used to fetch all transactions including their decoded log events in a 15-minute time bucket interval.
547
+ - `getEarliestTransactionsForAddress(chainName: Chain, walletAddress: string, queryParamOpts?: GetEarliestTransactionsForAddressQueryParamOpts): Promise<GoldRushResponse<EarliestTransactionsForAddressResponse>>`: Commonly used to fetch and render the earliest transactions involving an address. Frequently seen in wallet applications.
548
+ </details>
566
549
 
567
550
  <details>
568
551
  <summary>