Skip to content

feat(kyc-controller): update capability token TTL from 4h to 72h - #10679

Merged
Akaryatrh merged 2 commits into
mainfrom
jl/kyc-controller-capability-token-72h
Oct 6, 2026
Merged

Akaryatrh merged 2 commits into
mainfrom
jl/kyc-controller-capability-token-72h

Conversation

@jiexi

@jiexi jiexi commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

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 KycController mints the read/write ukyc_capability_token for a UKYC session (expiresAt on signStorageAccessToken).

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-controller changelog 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.

@jiexi
jiexi requested review from a team as code owners October 5, 2026 17:52
@jiexi
jiexi deployed to default-branch October 5, 2026 17:52 — with GitHub Actions Active
Co-authored-by: Cursor <cursoragent@cursor.com>
@jiexi jiexi changed the title update capability token TTL feat(kyc-controller): update capability token TTL from 4h to 72h Oct 5, 2026

@Akaryatrh Akaryatrh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Akaryatrh
Akaryatrh added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit 1ef83c7 Oct 6, 2026
45 checks passed
@Akaryatrh
Akaryatrh deleted the jl/kyc-controller-capability-token-72h branch October 6, 2026 09:56
@georgeweiler georgeweiler mentioned this pull request Oct 8, 2026
3 of 4 tasks
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants