I know that .NET 7 has an in-built rate limiter, and I know that it's implied via .NET Standard 2.0 and 2.1 support, but if you've tested your code on .NET 7 then perhaps you should update the README.md to reflect this.
but rate-limit will grab the first id in nested.id which is not true it should get the id from root.
It should works based on root properties not nested
Is there a particular reason why you're matching the packages to the framework?
For example Microsoft.Extensions.Caching.Memory 8.0.0 is supported by netstandard2.0, so you may as well have this for all versions. You should try to target as few frameworks as possible in your csproj which would reduce the size of your NuGet package, leading to no performance loss on .NET 8.0 but on earlier frameworks they will make use of potential performance gains from the latest packages.