{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/pt-BR/products/wallet/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Approvals","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"approvals","__idx":0},"children":["Approvals"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"In this section"},"children":[{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/configure-approval-flows"},"children":["Configure approval flows"]}," – Create, update, and delete approval groups, and set wallet-level approvers"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/step-up-approvals"},"children":["Step-up approvals"]}," – Require specific approvers for transactions of more than an amount"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Approvals in Ripple Custody (Wallet) add human review to transactions and sensitive organization changes. When an approval group applies to an action, the action remains pending until enough approvers authorize it in the Ripple Custody (Wallet) web console or mobile app."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Approvers are organized within approval groups. Most approval groups use selected users as approvers. The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval type uses active organization owners as approvers and protects changes to approval groups themselves."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-approval-groups-govern","__idx":1},"children":["What approval groups govern"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each approval group applies to one entity type:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Entity type"},"children":["Entity type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What requires approval"},"children":["What requires approval"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transactions"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Designated approvers must approve outgoing transactions before the MPC quorum signs them and Ripple Custody (Wallet) broadcasts them to the blockchain."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Designated approvers must approve new address book entries before they become active, and address deletions before they take effect."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policy rules"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Designated approvers must approve new policy rules before they take effect, and policy rule deletions before they're removed."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API credentials"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Designated approvers must approve new API credentials before integrations can use them."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Users"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Designated approvers must approve new user invitations before Ripple Custody (Wallet) sends the invitation."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Active organization owners approve approval group changes before Ripple Custody (Wallet) applies them."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Creating or changing one of these entity types goes through an approval request. The exception is deleting an address with status Rejected or Error, or a rejected user invitation, which takes effect immediately. If the entity type has no approval group, Ripple Custody (Wallet) approves the request automatically, so the console can show ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval pending"]}," briefly before the change takes effect. A transaction that matches a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/step-up-approvals"},"children":["step-up approval"]}," rule is the exception: it still needs that rule's approvers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each entity type can have one default approval group that applies organization-wide. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Only transaction approval groups support wallet-level overrides."]}," All other entity types are organization-wide only."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can't change the approval type of an existing approval group. To change the type, delete the approval group and create a new one."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To create approval groups, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/configure-approval-flows#create-an-approval-group-via-the-console"},"children":["Configure approval flows"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"wallet-level-transaction-approvals","__idx":2},"children":["Wallet-level transaction approvals"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["By default, the organization's transaction approval group applies to all wallets. Each wallet can override it with one of these options on its ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approvers"]}," tab:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Do not use an approval group"]},": No default approvals apply to transactions from this wallet. A transaction that triggers a step-up approval rule still needs that rule's approvers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use default approval group"]},": The wallet uses the organization-level transaction approval group."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use a custom list of approvers for this wallet"]},": The wallet uses wallet-specific approvers and threshold settings."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To require different approvers only for transactions of more than an amount, use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/step-up-approvals"},"children":["step-up approvals"]},". When a step-up approval rule applies, its approvers replace the wallet's or organization's default transaction approvers for that transaction instead of adding to them. If several rules apply, the rule with the highest amount threshold wins. A rule with fewer approvers than the default group therefore lowers the bar for large transactions."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the procedure, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/configure-approval-flows#add-an-approval-group-to-a-wallet-via-the-console"},"children":["Add an approval group to a wallet"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"approval-group-change-protection","__idx":3},"children":["Approval group change protection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," type is a special organization-wide control. It governs approval groups themselves, including wallet-level transaction approval group overrides. This control protects the approval groups that decide who can approve transactions, addresses, policies, API credentials, users, and approval group changes. It doesn't cover step-up approval rules, which also decide who approves large transactions. Step-up approval rules are policy rules, so to protect them, use a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policy rules"]}," approval group. Ripple Custody (Wallet) manages its approver list and uses the organization's active owners. You set only the required approval threshold and timeout."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The first ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," approval group turns on this requirement. After it exists, Ripple Custody (Wallet) applies creations, updates, and deletions of organization-level approval groups, and changes to wallet-level transaction approval group overrides, only after enough active owners approve them. While a change is pending, the current configuration stays in effect."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To turn on this requirement, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/approvals/configure-approval-flows#require-approval-for-approval-group-changes-via-the-console"},"children":["Require approval for approval group changes"]},". If fewer owners are active than the threshold, Ripple Custody (Wallet) refuses approval group changes, so keep enough active owners before you raise the threshold or deactivate an owner."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-approvals-work-at-runtime","__idx":4},"children":["How approvals work at runtime"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a user or API credential performs an action governed by an approval group:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The action enters a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pending"]}," state."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Approvers see the request in the Ripple Custody (Wallet) web console under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notifications"]},". Approvers who have an approved, enabled mobile device also get a push notification on it. An approver whose device is still awaiting approval, or who has a disabled device, gets no push notification."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Approvers review and approve or reject the action."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the minimum number of approvals is met within the timeout window, the action proceeds."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the timeout expires before the action receives enough approvals, Ripple Custody (Wallet) automatically rejects the action. Ripple Custody (Wallet) checks for expired requests once a minute, so a request can stay pending for up to about a minute after its timeout. It refuses any response that arrives after the deadline."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each approval group sets its own timeout, and the requests that the group handles expire on it. The exception is the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," type: requests to change other approval groups use the timeout of the group that the request changes. The default timeout is 1 hour."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no transaction approval group has approvers, ordinary transfers pass the approval stage automatically. WalletConnect and passkey actions are the exception: Ripple Custody (Wallet) rejects them because they require approvers, instead of letting them wait for approval."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For how approvals fit together with MPC signing, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls"},"children":["Governance and controls overview"]},"."]}]},"headings":[{"value":"Approvals","id":"approvals","depth":1},{"value":"What approval groups govern","id":"what-approval-groups-govern","depth":2},{"value":"Wallet-level transaction approvals","id":"wallet-level-transaction-approvals","depth":2},{"value":"Approval group change protection","id":"approval-group-change-protection","depth":2},{"value":"How approvals work at runtime","id":"how-approvals-work-at-runtime","depth":2}],"frontmatter":{"title":"Approvals","seo":{"title":"Approvals"}},"lastModified":"2026-10-23T12:53:15.000Z","isTranslationFallback":true,"pagePropGetterError":{"message":"","name":""}},"slug":"/pt-br/products/wallet/governance-and-controls/approvals","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}