Removes the frontend API key system and allows JWT-authenticated users to access data endpoints directly, with a per-user per-minute rate limit backed by Redis.
is_front column from the apikeys table (migration 20260316000000_remove_is_front).POST /apikeys/front endpoint from the database, config, schema, models, DAO, handlers, and OpenAPI spec (migration 20260316000001_remove_front_apikey_endpoint).CreateFrontApikey variant from ApikeyManagementEndpoint and is_front field from the Apikey type.DELETE /apikeys/all to unconditionally delete all keys and remove the user limit cache entry./blockchain/ethereum/*, /blockchain/bitcoin/*, /blockchain/multichain/*) now accept a JWT Bearer token in addition to an API key.status = authorized) are admitted; accounts pending verification receive 403 Forbidden.JwtRateLimiter backed by a Redis atomic Lua script (SCRIPT_JWT_RATE_LIMIT).{prefix}jwt_rl:{user_id}:{minute_bucket} where minute_bucket = unix_seconds / 60.429 Too Many Requests when the budget is exhausted.JWT_RATE_LIMIT_PER_MINUTE (default: 100 req/min).JWT_RATE_LIMIT_PER_MINUTE=100 to argos.env.POST /apikeys/front from api_setup_config/endpoints.json.test/jwt_rate_limit crate with a 5-phase end-to-end test:
limit requests all succeed for user1.make test-jwt-rate-limit target with JWT_TEST_LIMIT=5 override for fast test runs.doc/api.md documenting all authentication strategies, error codes, and environment variables.Closes #324
adam.khayam (3b164c89) at 19 Mar 16:11
[paper] progress in eval
Thomas Santoni (81e51e45) at 19 Mar 16:04
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Thomas Santoni (6dd38ed0) at 19 Mar 16:01
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Thomas Santoni (108d547a) at 19 Mar 15:04
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Closes #337
Hamid (95944e0c) at 19 Mar 15:01
[Config] Update verbose values from low/medium/high to info/debug/t...
... and 94 more commits
Hamid (95944e0c) at 19 Mar 14:42
[Config] Update verbose values from low/medium/high to info/debug/t...
... and 5 more commits
adam.khayam (c22187d2) at 19 Mar 13:33
[Paper] rework script evaluation
Thomas Santoni (08d26515) at 19 Mar 13:16
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Thomas Santoni (69f18234) at 19 Mar 13:13
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Thomas Santoni (ef381a69) at 19 Mar 12:58
[Api] Resolve clustering addresses to KnownAddressOrAddress via OSI...
... and 13 more commits
Hamid (48af0999) at 19 Mar 12:55
[Config] Use default rustup profile to include clippy in CI runner
... and 38 more commits
Rodi-Can Bozman (02d89c9e) at 19 Mar 12:54
Rodi-Can Bozman (7161477a) at 19 Mar 12:54
Merge branch 'rodi@rust-toolchain' into 'main'
... and 1 more commit