Repository navigation
feat(kyc-controller): update capability token TTL from 4h to 72h - #10679
Merged
Merged
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Naz-Ovh
pushed a commit
to 0x-fork/metamask-core
that referenced
this pull request
Oct 10, 2026
## Explanation Scoped release so clients can pick up MetaMask#10749. Monorepo release **1320.0.0**, following merged [Release/1319.0.0](MetaMask#10756). - **`@metamask/ramps-controller` 26.3.0 → 27.0.0** (major). `hydrateVbaOnboarding` is a read: it no longer signs a wallet, posts a self-hosted address, creates an autoramp, or starts the KYC poll. Callers create an autoramp with `createAutoramp(buildMusdAutorampRequest(...))`. Messenger now requires `KycController:readSessionStatus` and `KycController:fetchSessionStatusOnce`. Also includes the unpublished MetaMask#10743 additions (`needs_source_currency`, `buildMusdAutorampRequest`) and the profile-sync range bump to `^34.0.2`. - **`@metamask/kyc-controller` 0.6.1 → 0.7.0** (minor, matching earlier 0.x breaking bumps). Publishes `readSessionStatus` and `fetchSessionStatusOnce` from MetaMask#10749. The same version also ships the unpublished breaking `aal2Token` requirement on `startSession` / `createUkycSession` (MetaMask#10632) and the 72-hour capability token (MetaMask#10679). - **`@metamask/transaction-pay-controller` 30.0.1 → 30.0.2** (patch). Published because ramps-controller is a major and this is its only dependent. The range moves to `^27.0.0`. This version also includes the unpublished gas-fee fix from MetaMask#10404. Other packages with unreleased changes are deferred. `ramps-controller` keeps its existing dependency ranges, including `@metamask/profile-sync-controller` at `^34.0.2` from MetaMask#10756. ## References - Ships MetaMask#10749 - Also publishes unpublished changes already on main: MetaMask#10743, MetaMask#10632, MetaMask#10679, MetaMask#10404, MetaMask#10752, MetaMask#10756 ## Checklist - [x] I've updated the test suite for new or updated code as appropriate - [x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate - [x] I've communicated my changes to consumers by [updating changelogs for packages I've changed](https://github.com/MetaMask/core/tree/main/docs/processes/updating-changelogs.md) - [ ] I've introduced [breaking changes](https://github.com/MetaMask/core/tree/main/docs/processes/breaking-changes.md) in this PR and have prepared draft pull requests for clients and consumer packages to resolve them <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Medium Risk** > The release ships major ramps-controller and breaking KYC/VBA onboarding API changes; this PR only versions and documents them, but client upgrades must adopt new messenger delegations and onboarding call patterns. > > **Overview** > Cuts **monorepo release 1320.0.0** by moving unreleased changelog notes into versioned sections and bumping published package versions—no new runtime code in this diff. > > **`@metamask/ramps-controller` 27.0.0** (major) documents shipping MetaMask#10749/MetaMask#10743: `hydrateVbaOnboarding` becomes a read-only snapshot (wallet sign, registration POST, autoramp creation, and KYC polling move to callers), new persisted wallet-registration state and `needs_wallet_registration` / `needs_source_currency` statuses, and messenger now requires `KycController:readSessionStatus` and `KycController:fetchSessionStatusOnce`. > > **`@metamask/kyc-controller` 0.7.0** publishes those KYC actions plus breaking **`aal2Token`** requirements on UKYC session creation/`startSession`. > > **`@metamask/transaction-pay-controller` 30.0.2** updates its dependency range to **`@metamask/ramps-controller` ^27.0.0** and records the ramps bump in its changelog (along with fixes already on main such as MetaMask#10404). > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 6cb8531. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updates the ukycCapabilityToken expiry from 4h to 72h to ensure it covers the majority of actual kyc session lifetimes
Note
Medium Risk
Longer-lived capability tokens widen the window for misuse if a token leaks, though the change is scoped to session-aligned expiry for UKYC storage access.
Overview
Extends the UKYC capability token lifetime from 4 hours to 72 hours when
KycControllermints the read/writeukyc_capability_tokenfor a UKYC session (expiresAtonsignStorageAccessToken).This matches the storage-and-auth expectation that the token stays valid through the full KYC session, including the identity-provider flow, instead of expiring on a short fixed window. The
kyc-controllerchangelog records the change under Unreleased.Reviewed by Cursor Bugbot for commit 334b7ba. Bugbot is set up for automated code reviews on this repo. Configure here.