# Changelog

What changed for tenants, newest first. Every change keeps existing calls answering as before; a feature marked [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) is turned on for your tenant when you ask.

## How to Read It

- Additions — a route, an optional field, an event type, an error code — ship without notice and never change what your existing calls answer ([Versioning](https://docs.aureahub.com/docs/versioning.md)). Build so that an unknown field, status, event type or code is ignored or handled by its HTTP status.
- A change to what an existing call answers is listed here with what to do. A deprecation is announced at least 180 days ahead, with the `Deprecation` and `Sunset` headers; no route is deprecated today.
- The OpenAPI document ([`/v1/docs/json`](https://api.aureahub.com/v1/docs/json)) always describes the running version.

## November 2026

### Added — 11 November 2026

- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) **Device preparation** (preview): the device prepares a new MPC wallet in the background, so that making it takes seconds — `/v1/mpc/preparations` and `dkg/start` `preparation`, off for every tenant until turned on ([Prepare the Device in Advance](https://docs.aureahub.com/docs/guide-device-preparation.md)). Wallets are made as before everywhere else.

### Added — 10 November 2026

- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) **Embedded wallet**: your users' MPC wallets inside your own web pages with the `@aureahub/wallet-embed` package, beside the API — turned on per tenant ([Embedded Wallet](https://docs.aureahub.com/docs/guide-embedded-wallet.md)). The API stays the default and unchanged for every tenant.

### Changed — 9 November 2026

These checks were recorded until now and now refuse, for every tenant. What to do is on each page.

- **One MPC wallet in setup per user and purpose**: a second key generation or registration answers `409` `MPC_WALLET_SETUP_PENDING` with the pending wallet — resume it, or [Restart a Pending Wallet](https://docs.aureahub.com/docs/mpc-wallet-restart.md). A pending wallet the user left before its second ceremony, more than about 30 seconds ago and holding nothing, is retired by the next key generation instead ([MPC Wallet Setup](https://docs.aureahub.com/docs/guide-wallet-setup.md)).
- **What is signed**: an `intent` that does not stand for `msgHashHex` answers `422` `MPC_INTENT_MISMATCH`; a wallet made with an approval key signs nothing, a backup proof included, without a valid approval and intent ([Start Signing Ceremony](https://docs.aureahub.com/docs/mpc-sign-start.md), [Prepare a Backup Proof](https://docs.aureahub.com/docs/mpc-backup-proof-prepare.md), now for every tenant).
- **A signature from the backup** (committee `BACKUP`) always needs the owner's step-up: `password` or `stepUpToken`, otherwise `403` `STEP_UP_REQUIRED`.
- **The relay**: on version 2 a party joins once; joining again with other keys answers `409` `MPC_ROSTER_ENTRY_CONFLICT` ([Relay: Join Session](https://docs.aureahub.com/docs/mpc-relay-join.md)).
- **The bank ramp's money out** — a payout from a wallet, a sale for local currency, a withdrawal, a desk order to a bank account — needs the user's passkey step-up for `bank_ramp.payout` in the `x-aurea-step-up` header; End Users can now register passkeys for it ([Passkeys & Step-Up](https://docs.aureahub.com/docs/guide-passkeys.md) › Where It Is Asked). Payouts held for a reconciliation of the ledger answer `409` `BANK_RAMP_PAYOUTS_HELD_RECONCILIATION`.
- **A pay-in account moved to another address** needs the user's step-up for `bank_ramp.destination_change` and waits before it applies (`409` `BANK_RAMP_DESTINATION_CHANGE_PENDING` with `effectiveAt`); in an MPC tenant the default Solana destination is never a custodial wallet ([Initiate Deposit](https://docs.aureahub.com/docs/payin-initiate.md)).
- [Payment Methods](https://docs.aureahub.com/docs/payin-methods.md) answers `accountStatus` for every tenant.
- [Errors & Codes](https://docs.aureahub.com/docs/errors.md): the table is regenerated from the running API.
- Passkeys are on for every tenant, on Aurea's relying party `access.aureahub.com`; only your tenant's own passkey address is on request ([Passkeys & Step-Up](https://docs.aureahub.com/docs/guide-passkeys.md)).
- MPC wallets receive from the backup on, before their second ceremony, for every tenant, with the recovery second ceremony (`auxRecovery`) for a device lost before the first signature ([MPC Wallet Setup](https://docs.aureahub.com/docs/guide-wallet-setup.md)).
- New page: [Recovery Step-Up](https://docs.aureahub.com/docs/mpc-step-up.md) — the passkey step-up of a signature with the backup share.

### New

- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) [Identity Verification](https://docs.aureahub.com/docs/guide-identity.md): KYC of persons and KYB of companies on a verification page — [Start a Verification](https://docs.aureahub.com/docs/identity-verification-create.md), [Get a Verification](https://docs.aureahub.com/docs/identity-verification-get.md), [A User's Verifications](https://docs.aureahub.com/docs/identity-subject-verifications.md) —, signed by your tenant's server; the `identity.verification.updated` and `identity.handoff.updated` events, the `IDENTITY_*` codes and the module `identity_verification`. Where it decides the bank ramp's local rails' verification, [Register for the Local Rails](https://docs.aureahub.com/docs/local-verification-register.md) also answers `verificationId` and `verificationUrl` (`null` when there is no page to show), and a user becomes `verified` there only when the verified identity matches the registered one. A screening match opens an `onboarding` AML case that Aurea decides (`403` `AML_CASE_AUREA_DECIDES` on a tenant's write). Every other tenant's answers are unchanged.
- [MPC Wallet Setup](https://docs.aureahub.com/docs/guide-wallet-setup.md): one setup state for every MPC wallet ([Get a Wallet's Setup](https://docs.aureahub.com/docs/mpc-setup-get.md), [List Wallet Setups](https://docs.aureahub.com/docs/mpc-setup-list.md)) with `canReceive` and `canSpend`, the steps your app reports ([Report a Setup Step](https://docs.aureahub.com/docs/mpc-setup-report.md)), the `wallet.setup.*` and `account.bound` events, and — [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) — one wallet in setup per user with its restart, receiving only after the backup, receiving before the second ceremony with a recovery ceremony for a device lost before the first signature (`auxRecovery` on [Start Aux Ceremony](https://docs.aureahub.com/docs/mpc-aux-start.md)), and a bank account opened by itself on the verification's approval (`bindOnApproval`, [List Waiting Accounts](https://docs.aureahub.com/docs/payin-waiting-list.md), [Withdraw a Waiting Account](https://docs.aureahub.com/docs/payin-waiting-cancel.md)).
- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) [Prepare a Backup Proof](https://docs.aureahub.com/docs/mpc-backup-proof-prepare.md): a wallet with an approval key carries the user's approval of the prepared digest on its backup proof too (`prepared` and `approval` on [Start a Backup Proof](https://docs.aureahub.com/docs/mpc-backup-proof-start.md)).
- MPC start routes: their full request bodies — the approval key bound at the key generation (`approvalBinding`, `approvalKey` on [Start DKG Ceremony](https://docs.aureahub.com/docs/mpc-dkg-start.md)), what a signature signs and its approval (`intent`, `approval` on [Start Signing Ceremony](https://docs.aureahub.com/docs/mpc-sign-start.md)), and `wireVersion`; a signature right after the second ceremony may answer `503` `MPC_AUX_FINISHING` — retry after `Retry-After`.
- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) [Payment Methods](https://docs.aureahub.com/docs/payin-methods.md) can answer each account's `accountStatus` at the bank ramp; an account no longer `Active` is replaced by itself.
- [Errors & Codes](https://docs.aureahub.com/docs/errors.md): the table lists the new codes — the wallet setup's, the recovery ceremony's (`MPC_AUX_RECOVERY_OFF`, `MPC_AUX_RECOVERY_REFUSED`), the backup proof's approval (`BACKUP_PROOF_PREPARE_OFF`, `BACKUP_PROOF_PREPARED_INVALID`), a wallet paused after repeated failed ceremonies (`MPC_WALLET_ABORT_HOLD`, `MPC_COSIGNER_QUARANTINED`) and the waiting accounts' (`WAITING_ACCOUNT_NOT_FOUND`).
- **Neutral codes**: the bank ramp's and the payment cards' errors can answer neutral codes — `BANK_RAMP_…`, `CARD_PROGRAM_SESSION_EXPIRED`, `CARD_TERMS_REQUIRED`, `CARD_REVEAL_NOT_CONFIGURED` — switched on per tenant; nothing changes until then ([Errors & Codes › Neutral Codes](https://docs.aureahub.com/docs/errors.md)). The table of every error code now lists them.
- The EUR account's routes under new names: `/v1/gnosis/eur-account/authorize-url`, `/link-message`, `/link-safe` and `/v1/gnosis/integrations/eur-account`; a consent started from the new authorization link comes back to `<redirectScheme>://eur-account-callback` ([Cards & EUR Account](https://docs.aureahub.com/docs/guide-cards.md)). The earlier routes answer as before.
- **Neutral names**: with neutral codes on, the answers also carry a neutral name next to each provider-specific field or value (`bankRampStatus`, `eurAccountIban`, `typeNeutral`…) and take the neutral values back ([Errors & Codes › Neutral Names](https://docs.aureahub.com/docs/errors.md)).
- Lending and the payment cards under neutral routes, `/v1/lending/*` and `/v1/cards/*`; [Sign-In Message](https://docs.aureahub.com/docs/cards-auth-message.md) answers the card program's sign-in message ready to sign.
- [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) [Test-only server credentials](https://docs.aureahub.com/docs/guide-server-credentials.md): `testOnly: true` at registration; their tokens reach the test networks only (`403` `TEST_ONLY_CREDENTIAL` elsewhere).
- [OpenAPI & Postman](https://docs.aureahub.com/docs/api-downloads.md): the live OpenAPI document and a Postman collection of the documented routes, with request signing built in.
- [Environments › Test and Live](https://docs.aureahub.com/docs/guide-environments.md): how one API key serves test networks and production, and how to keep them apart; [Build](https://docs.aureahub.com/docs/products-build.md) and [Pay](https://docs.aureahub.com/docs/products-pay.md): the two products' docs and keys.

## 23 October 2026

### New

- **Fiat banking**, coming on request: KYC and KYB, multi-currency balances, FX, transfers and local receiving accounts ([Feature Availability](https://docs.aureahub.com/docs/feature-availability.md) › Coming).
- The table of every error code (1056 codes) — [Errors & Codes](https://docs.aureahub.com/docs/errors.md).

## 22 October 2026

### New

- **The bank ramp's local rails** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): pay in and out in local currencies through local banks and mobile money, with a balance per user, an exact amount per pay-in, the sale of USDT and USDC for local currency, and withdrawals to a bank account, a mobile money number or a wallet, in the currency held or another — `/v1/ramp/bank/customer/verification`, `…/balances`, `…/institutions`, `…/instructions`, `…/offramps`, `…/deliveries`, `…/withdrawals` ([Bank Ramp: Local Rails](https://docs.aureahub.com/docs/guide-bank-local.md)).
- **Desk orders** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): stablecoins against the desk's local currencies at a quoted rate, to a bank or from a bank with a payment reference and a receipt — `/v1/ramp/bank/customer/desk/…` ([Bank Ramp: Desk Orders](https://docs.aureahub.com/docs/guide-bank-desk.md)).
- Event types `ramp.instruction.updated`, `ramp.offramp.updated`, `ramp.withdrawal.updated`, `ramp.desk_order.updated` and `ramp.collection.reversed`, sent only to the endpoints that name them ([Webhooks & Events](https://docs.aureahub.com/docs/guide-events.md)).
- The table of every error code (969 codes) — [Errors & Codes](https://docs.aureahub.com/docs/errors.md).

## 21 October 2026

### New

- **Sessions**: where a user is signed in — device, address, last activity — and ending one session or every other one: `GET /v1/auth/sessions`, `DELETE /v1/auth/sessions/{sessionId}` (`404` `SESSION_NOT_FOUND`), `POST /v1/auth/sessions/revoke-others` (`409` `SESSION_NOT_IDENTIFIED`) — [Your Sessions](https://docs.aureahub.com/docs/auth-sessions.md).
- **Count Operations** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md), `GET /v1/operations/count`: the list's filters, answered as `{ total, last24h }`; `400` `OPERATIONS_WINDOW_INVALID` for a window that ends before it starts — [Count Operations](https://docs.aureahub.com/docs/operations-count.md).
- **Your tenant's wallets**, `GET /v1/admin/tenants/{id}/wallets`: every wallet of the tenant with its owner, who holds the key, status, the balances last read and totals — [List Your Tenant's Wallets](https://docs.aureahub.com/docs/tenant-wallets-list.md).
- **Insights**, `GET /v1/admin/tenants/{id}/insights`: users, wallets, operations and volume in EUR over 24 hours, 7 and 30 days beside the period before — [Your Tenant's Insights](https://docs.aureahub.com/docs/tenant-insights.md).
- **Search**, `GET /v1/admin/tenants/{id}/search`: users, wallets and operations by id, address, transaction hash, email or username, each kind for the roles that read it (`403` `SEARCH_KIND_FORBIDDEN`), 30 a minute — [Search Your Tenant](https://docs.aureahub.com/docs/tenant-search.md).
- **Your tenant's record** on [Get the API Key](https://docs.aureahub.com/docs/admin-tenants-apikey.md) and [Rotate the API Key](https://docs.aureahub.com/docs/admin-tenants-rotatekey.md) carries `type`, `country`, `supportEmail` and `onboardingState` when they are set.
- The table of error codes is updated — [Errors & Codes](https://docs.aureahub.com/docs/errors.md).

## 15 October 2026

### New

- **Your own passkey address** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): a relying party id and your apps' https web addresses beside Aurea's, read with `GET /v1/admin/tenants/{id}/passkey-address`; the options requests take `rpId`, and a passkey is used only on the relying party it was registered for — [Passkeys & Step-Up](https://docs.aureahub.com/docs/guide-passkeys.md) › Your Own Passkey Address.
- **`pushToken`**, the push token's field on [Register Device](https://docs.aureahub.com/docs/notif-register.md), [Unregister Device](https://docs.aureahub.com/docs/notif-unregister.md) and `PATCH /v1/users/me/fcm-token`. `fcmToken`, its older name, is still accepted and answers as before; both names and different: `400` `PUSH_TOKEN_CONFLICT`.
- **Swaps only along your routes** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): a swap no active route of yours allows is refused, `403` `SWAP_ROUTE_NOT_ALLOWED` or `SWAP_ROUTE_PAIR_UNKNOWN`, `503` `SWAP_ROUTES_UNAVAILABLE` — [List Swap Routes](https://docs.aureahub.com/docs/swap-routes-list.md). Elsewhere such swaps are recorded and nothing is refused, as before.
- **Stable error codes** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): codes for the errors of sign-in, users, wallets, transactions, tokens, swaps, MPC wallets, your tenant and the bank ramps; the code on the answers of routes whose error bodies left it out; and the neutral `error` names `CardOnrampError` and `BankRampError`. The table of every code is updated — [Errors & Codes](https://docs.aureahub.com/docs/errors.md).

### Changed

- **A busy wallet**: when two requests prepare or broadcast a transaction of the same wallet at the same instant, the one that finds the wallet busy is answered `409` `WALLET_BUSY` (`"error": "BlockchainError"`, `retryable: true`); it was a `500`. Nothing was prepared, reserved or sent: retry the same request shortly ([Create Transaction](https://docs.aureahub.com/docs/tx-create.md), [Broadcast Transaction](https://docs.aureahub.com/docs/tx-broadcast.md), [Errors & Codes](https://docs.aureahub.com/docs/errors.md)).
- **Earn**: a signature's `v` of 27 or 28 written in decimal is read as 0 and 1, as it is in hexadecimal; it was refused `422` `EARN_SIGNATURE_INVALID` ([Send Signatures](https://docs.aureahub.com/docs/earn-broadcast.md)).
- **Account structures**: a send from an omnibus collection account's wallet, and the export of its key, are refused, `403` `OMNIBUS_COLLECTION_WALLET`; the sub-ledger may show entries of kind `adjustment`, Aurea closing a shortfall on the house's side ([Account Structures](https://docs.aureahub.com/docs/guide-account-structures.md)).
- **Institution callback** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): an MPC wallet's signature asks your endpoint once — the signing ceremony of a digest Aurea prepared goes on with the approval your endpoint gave at its preparation ([Institution Callback & Co-Signer](https://docs.aureahub.com/docs/guide-institution-callback.md)).
- **A passkey reset** of an account you may not act on, or of a user who doesn't exist, is refused at once (`403`, `404`), never held by your tenant's quorum ([Reset a User's Passkeys](https://docs.aureahub.com/docs/passkeys-reset.md)).
- **Transaction simulation** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): a client-side wallet's Solana swap is simulated and the result kept, never refused ([Signing Rules](https://docs.aureahub.com/docs/guide-signing-rules.md)).
- **Audit trail** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): an MCP tool call and a recurring run of Agent Payments write the rows their REST routes write ([Audit Trail](https://docs.aureahub.com/docs/audit-events.md)).

## 14 October 2026

### Now on for every tenant

- **More events.** Webhook endpoints that name them now receive `transaction.*`, `wallet.*`, `account.*`, `address_book.*`, `policy.*`, `approval.*`, `aml_case.*` and `earn.*` — [Webhooks & Events](https://docs.aureahub.com/docs/guide-events.md). An endpoint that names no type receives the `ramp.*` types only, as before.
- **An unknown API key** is answered as a wrong signature, `401` `Invalid signature`, so an answer no longer tells which keys exist (it was `404` `Invalid API key`). Treat both alike.
- **Accounts** created in bulk are processed ([Create in Bulk](https://docs.aureahub.com/docs/accounts-bulk-create.md)). **Groups** stand for their members in policy rules, approvals and designated signers.
- **MPC**: acknowledged relay reads (`ack` on [Read Inbox](https://docs.aureahub.com/docs/mpc-relay-inbox.md)), and your own co-signer, which your administrators switch on ([Institution Callback & Co-Signer](https://docs.aureahub.com/docs/guide-institution-callback.md)).
- **Observed for every tenant, nothing refused**: the screening of every counterparty against the public sanctions lists, your tenant's quorum, the address book at the signing points, the message rules, swaps built on the server and your swap routes. Each one refuses for your tenant on request ([Feature Availability](https://docs.aureahub.com/docs/feature-availability.md)).
- **The address book** has no approval step: an entry cools from its request ([Address Book](https://docs.aureahub.com/docs/guide-address-book.md)).

### New

- **Get Its Callback**, `GET /v1/operations/{id}/callback`: the request your institution callback held an operation on and, once approved, the answer the call would have given [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) — [Get Its Callback](https://docs.aureahub.com/docs/operation-callback.md).
- **Asset & chain registry**, `/v1/assets…`: your tenant's assets by one key, custom EVM tokens registered by their contract, metadata and contract checks — [Asset & Chain Registry](https://docs.aureahub.com/docs/guide-asset-registry.md).
- **Account structures**, `/v1/structures…`: segregated or omnibus per network, collection accounts and sweep policies — [Account Structures](https://docs.aureahub.com/docs/guide-account-structures.md). The omnibus processing is coming.
- **Client-side Solana swaps** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): execute, sign the message, `POST /v1/swap/broadcast-solana` — [Token Swaps](https://docs.aureahub.com/docs/guide-swap.md).
- **Passkeys and the step-up** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): `/v1/auth/passkeys…`, a passkey confirmation before an approval or a policy publication — [Passkeys & Step-Up](https://docs.aureahub.com/docs/guide-passkeys.md).
- **Institution callback** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): your endpoint asked before anything is signed — [Institution Callback & Co-Signer](https://docs.aureahub.com/docs/guide-institution-callback.md).
- **MPC backup proof**: `POST /v1/mpc/wallets/{walletId}/backup-proof…` and the backup state — [Start a Backup Proof](https://docs.aureahub.com/docs/mpc-backup-proof-start.md).
- **Gas Station**: thresholds, caps, funding wallets, top-ups and alarms; its mode is set with Aurea [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) — [Gas Station](https://docs.aureahub.com/docs/guide-gas-station.md). Custodial wallets of an account's EVM key are covered on every EVM chain of a policy's network.
- **Quotas per category** with `RateLimit-*` headers and `429` `RATE_LIMIT_EXCEEDED` [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) — [Rate Limits](https://docs.aureahub.com/docs/rate-limiting.md).
- **Stable error codes** on the errors that had none [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md), and the table of every code — [Errors & Codes](https://docs.aureahub.com/docs/errors.md).
- **The deprecation policy** and its `Deprecation`, `Sunset` and `Link` headers — [Versioning](https://docs.aureahub.com/docs/versioning.md).

### Changed

- **Resetting your own passkeys** is refused: `403` `PASSKEY_RESET_SELF`, at once and never held by your tenant's quorum. Another user's reset is unchanged ([Reset a User's Passkeys](https://docs.aureahub.com/docs/passkeys-reset.md)).
- **A custodial swap** waits at most 60 seconds for its receipts, approval and revoke included, instead of 120 ([Signing Rules](https://docs.aureahub.com/docs/guide-signing-rules.md)).
- **A client-signed Solana transaction the node refuses** answers `422` `RPC_ERROR` with the node's reason, as on EVM chains (it was `500`).
- **Balances** read a token whatever the letter case of its stored address.
- The OpenAPI document's route descriptions were reworded; no request or response changed.

## 13 October 2026

### New

- **Screening and AML cases**: counterparties checked against the OFAC SDN, EU and UN consolidated lists; held for review and AML cases where enforced [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) (`/v1/aml-cases…`) — [Screening & AML Cases](https://docs.aureahub.com/docs/guide-screening.md).
- **The Travel Rule**: `travelRule` (IVMS101) on [Create Transaction](https://docs.aureahub.com/docs/tx-create.md), read back with [Travel Rule Data](https://docs.aureahub.com/docs/tx-travel-rule.md).
- **Signing checks** by id: [Get a Signing Check](https://docs.aureahub.com/docs/operation-signing-check.md), with `details.checkId` on a refusal; a refused check keeps its operation.
- **Your own operation id**, `X-External-Tx-Id`, on the routes that start an operation [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md) — [Idempotency](https://docs.aureahub.com/docs/idempotency.md).
- **Reports** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): the movements report includes the transfers your wallets receive, and the balances report a Solana wallet's tokens — [Reports](https://docs.aureahub.com/docs/guide-reports.md).
- **Mutual TLS** on webhook deliveries [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md), and Aurea's client certificate ([Client Certificate](https://docs.aureahub.com/docs/webhook-client-certificate.md)).
- **Bank ramp customers** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): `/v1/ramp/bank/customer…` — your app sends the KYC data itself, links the user's wallets and proves their addresses ([Bank Ramp: Setup & Customers](https://docs.aureahub.com/docs/guide-bank-customers.md)).
- **Your MPC recovery key** [Coming soon, upon request](https://docs.aureahub.com/docs/feature-availability.md): [Register a Recovery Key](https://docs.aureahub.com/docs/mpc-recovery-key-register.md).
- **Earn** operations through a bridge carry `bridge.destination`, the leg on the destination chain ([Get an Earn Operation](https://docs.aureahub.com/docs/earn-operation-get.md)).

### Changed

- **Two-factor sign-in**: an administrator cannot reset their own second factor (`403` `MFA_RESET_SELF`); a password reset asks the second step where the account has one; an `mfaToken` signs in once ([Two-Factor Sign-In](https://docs.aureahub.com/docs/guide-two-factor.md)).
- **Your tenant's quorum**: an administrator's lift of a whole-tenant freeze is refused at once, never held ([Your Tenant's Quorum](https://docs.aureahub.com/docs/guide-tenant-quorum.md)).
- **Designated signers** named by a group stand for its members ([Policy Sets](https://docs.aureahub.com/docs/guide-policy-sets.md)).

---

Web version: https://docs.aureahub.com/#changelog
