> For the complete documentation index, see [llms.txt](https://block3d.gitbook.io/block3d/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://block3d.gitbook.io/block3d/utils.md).

# Utils

There are 5 utility functions in total that each perform essential tasks.

* [**getRpcUrls**](/block3d/utils/getrpcurls.md) -  returns a KV object with `chainId`s' keyed to HTTP transport URLs.&#x20;
* [**checkBlock3d**](/block3d/utils/checkblock3d.md) - a util function that wraps the rest of them so that the [`useBlock3r`](/block3d/hooks/useblock3r.md) hook only needs to make a single function call. Output is identical to [`useBlock3r`](/block3d/hooks/useblock3r.md).
* [**checkIsRoutePublic**](/block3d/utils/checkisroutepublic.md) - returns `true` if the current page is marked public in the `block3d.config`.
* [**checkSimpleRules**](/block3d/utils/checksimplerules.md) - returns two `Rule` arrays, `simplePassing` for the rules the user meets the criteria for, and `simpleFailing` for the rules the user doesn't meet the criteria for.
* [**checkTokenRules**](/block3d/utils/checktokenrules.md) - returns two `Rule` arrays, `tokenPassing` for rules the user meets the criteria for, and `tokenFailing` for rules the user doesn't meet the criteria for.
* [**checkNftRules**](/block3d/utils/checknftrules.md) - returns two `Rule` arrays, `nftPassing` for rules the user meets the criteria for, and `nftFailing` for rules the user doesn't meet the criteria for.
