{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/pt-BR/products/wallet/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Manage address book via the console","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":"manage-address-book-via-the-console","__idx":0},"children":["Manage address book via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The address book stores information about external counterparties and their blockchain addresses. When you send funds from the console or the API, Ripple Custody (Wallet) requires the destination to be an enabled address book entry or one of your organization's own wallets. WalletConnect transactions aren't checked against the address book. Keep the address book accurate, governed, and compliant."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Prerequisite"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each address belongs to a counterparty, so you must create a counterparty before adding any addresses."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"address-book-actions","__idx":1},"children":["Address book actions"]},{"$$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":"Action"},"children":["Action"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Console role"},"children":["Console role"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Console procedure"},"children":["Console procedure"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API procedure"},"children":["API procedure"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner, Administrator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#create-a-counterparty-via-the-console"},"children":["Create a counterparty"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#create-a-counterparty-via-the-api"},"children":["Create a counterparty"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List and get counterparties"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All except Viewer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#list-and-get-counterparties-via-the-console"},"children":["List and get counterparties"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#list-and-get-counterparties-via-the-api"},"children":["List and get counterparties"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update a counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["-"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["-"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#update-a-counterparty-via-the-api"},"children":["Update a counterparty"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Add an address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner, Administrator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#add-an-address-via-the-console"},"children":["Add an address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#add-an-address-to-a-counterparty-via-the-api"},"children":["Add an address to a counterparty"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List addresses"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All except Viewer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#list-addresses-via-the-console"},"children":["List addresses"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#list-addresses-via-the-api"},"children":["List addresses"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delete an address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner, Administrator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#delete-a-counterparty-or-address-via-the-console"},"children":["Delete a counterparty or address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#get-or-delete-an-address-via-the-api"},"children":["Get or delete an address"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delete a counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner, Administrator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#delete-a-counterparty-or-address-via-the-console"},"children":["Delete a counterparty or address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#delete-a-counterparty-via-the-api"},"children":["Delete a counterparty"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Require approval for new addresses"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner, Administrator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#require-approval-for-new-entries-via-the-console"},"children":["Require approval for new entries"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["-"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Permissions:"]}," In the console, owners and administrators can create and delete counterparties and addresses. Updating a counterparty is available only through the API, and you can't update an address. Owners, administrators, proposers, and approvers can approve addresses. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/organization-and-access/users-and-roles#addresses"},"children":["User roles and permissions"]},". The API procedures need an API credential of type ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CONTROLS"]},". See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#prerequisites"},"children":["Prerequisites"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"create-a-counterparty-via-the-console","__idx":2},"children":["Create a counterparty via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address book"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparties"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add counterparty"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the counterparty ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["name"]}," and optional ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["description"]}," (up to 100 characters)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type"]},". ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization"]}," is selected by default:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Individual"]},": A person. Enter their first name, last name, and address details: ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address line 1"]},", optional ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address line 2"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["City"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["State"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Postcode"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Country"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization"]},": A company or institution. Enter the legal name (at least 5 characters) and the same address details."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Dapp"]},": A decentralized application (smart contract)."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Next"]},". Ripple Custody (Wallet) creates the counterparty."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Compliance checks"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["New addresses go through a compliance step before Ripple Custody (Wallet) enables them, so a new address isn't available for immediate use. Counterparties don't go through this step and are available immediately."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/get-started-add-counterparty.614e55ff09609bdd0f5fc92a8429ea5f686dc829ae71b4539496e88cd6b6ec68.9fccc40d.png","alt":"The Create counterparty form with the Dapp, Individual, and Organization types"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"list-and-get-counterparties-via-the-console","__idx":3},"children":["List and get counterparties via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner, Administrator, Proposer, Approver, or Auditor."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address book"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparties"]},". The table lists each counterparty with its ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty"]}," name, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ID"]},", number of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active addresses"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Created"]}," date."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To find a counterparty, enter text in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Search counterparties"]},". To clear the search, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clear search"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To filter by type, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filters"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Type"]},", and then select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Dapp"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Individual"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Organization"]},". The active filter appears as a chip above the table. To remove it, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clear all"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To sort the table, select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Created"]}," column heading."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["To get a counterparty's details, select its row. The counterparty page shows its type, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ID"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active addresses"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last updated"]}," date. It also shows the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Legal name"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Registered office"]}," of an organization, or the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Postal address"]}," of an individual."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The counterparty page's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]}," tab lists the counterparty's addresses, with the same search and filters as the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]}," tab of the address book, except the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty"]}," filter. From the counterparty page, you can also select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add address"]}," to add an address to this counterparty, or delete the counterparty."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/address-book-counterparties-list.04bc4574668f510d80e8a734df4eb576fb0aa6e3f73ce7117f8a1ec34a22b784.9fccc40d.png","alt":"The Counterparties tab of the address book, with the search box, the Filters button, and the counterparties table"},"children":[]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/address-book-counterparty-details.45b24e04f7250263d9154632307b86c44cf9883c7abdaf65315562426736628f.9fccc40d.png","alt":"A Dapp counterparty page with its type, ID, active addresses, last updated date, and Addresses tab"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"add-an-address-via-the-console","__idx":4},"children":["Add an address via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address book"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add address"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["counterparty"]}," the address belongs to."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the destination address in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Wallet address"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Supported blockchains"]},", select one or more blockchains supported by the address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you selected XRP Ledger, you can optionally enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Destination tag"]}," to identify a specific counterparty at this r-address. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#xrp-ledger-destination-tags"},"children":["XRP Ledger destination tags"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["name"]}," for the address. A description is optional, but if you enter one, it must be at least 5 characters."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the destination is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["custodial"]}," (controlled by a custodian such as Coinbase), select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add custodian details"]},". Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select custodian"]},", enter the custodian's name, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Search"]},", and then select the custodian. You can choose only a custodian that the search returns from the Notabene VASP directory, so you can't identify a custodian that isn't listed there."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the submission checkbox to confirm that the custodial information you're submitting about ownership of the destination wallet is correct."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add address"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A new address shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inactive | Approval pending"]},", whether or not your organization has an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]}," approval group. Without a group, Ripple Custody (Wallet) approves the address automatically a moment after you add it. With a group, the address stays pending until approvers approve it, and the group might require more than one approval. After approval, the address shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inactive | Compliance pending"]}," while the compliance scan runs, and then ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active | Enabled"]},". It shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Inactive | Rejected"]}," if approvers reject it, the approval window (the group's timeout) expires, or the scan fails. You can't send to the address until it's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active | Enabled"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/address-book-add-address.b623c849ce6bbcda3fdd89fefed11517027e7388425d6d8119ccb16414a48e39.9fccc40d.png","alt":"The Add address dialog with a counterparty, wallet address, XRP Ledger blockchain, destination tag, and name"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"list-addresses-via-the-console","__idx":5},"children":["List addresses via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner, Administrator, Proposer, Approver, or Auditor."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address book"]}," > ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]},". The table lists each address with its ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Blockchains"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["3rd party custodian"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Status"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To find an address, enter text in ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Search addresses"]},". To clear the search, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clear search"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To filter the table, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filters"]},", select a category under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filter by"]},", and then set the filter:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Blockchain"]},": Select one or more blockchains."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty"]},": Enter a counterparty ID."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Date created"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Date updated"]},": Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Today"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last 48 hours"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last 7 days"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Last 30 days"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["This month"]},", or pick a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["From"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["To"]}," date in the calendar to set a custom range. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Custom"]}," appears in the list only while the selected range doesn't match one of the presets."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Description"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["ID"]},", and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]},": Enter a value."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Status"]},": Select a status, for example ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Enabled"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Creation approval pending"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deletion approval pending"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For the counterparty, description, ID, and name filters, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Include"]}," to show matching addresses or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Exclude"]}," to hide them. The first two active filters appear as chips above the table, and any others collapse into a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["+ N more"]}," label. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filters"]}," shows the number of categories with an active filter. To remove the filters in a category, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clear all"]},". To remove all filters, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Clear filters"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To sort the table by name, select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," column heading."]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/address-book-addresses-filters.d1c35431265289aa19512817c016ff6dcd7534d60f27be2958e5efe84814c3dd.9fccc40d.png","alt":"The Addresses tab of the address book with the Filters panel open on the Status category and a Status: Enabled filter chip"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"xrp-ledger-destination-tags","__idx":6},"children":["XRP Ledger destination tags"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Destination tags are optional 32-bit unsigned integers (0 to 4,294,967,295) that identify a specific counterparty at an XRP Ledger r-address. Exchanges commonly use a single r-address for many customers and rely on the destination tag to route funds to the correct account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When adding an XRP Ledger address, you can enter a destination tag alongside the r-address. Ripple Custody (Wallet) treats the r-address and destination tag together as a unique address, so you can add multiple entries that share the same r-address but differ by tag."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tagless addresses"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can leave the destination tag empty for r-addresses that don't require a tag. A tagless entry is distinct from any entry with a tag — matching is exact."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-destination-tags-affect-matching","__idx":7},"children":["How destination tags affect matching"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Address lookup"]}," — When Ripple Custody (Wallet) resolves a transaction's destination, it matches the full r-address and destination tag combination, so two address book entries with the same r-address but different tags resolve independently. Searching the address book matches any part of the text instead, so a search for an r-address returns every entry that shares it."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transaction history"]}," — New transactions display the counterparty whose r-address and destination tag exactly match the transaction's destination, when the destination includes the tag in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rAddress:tag"]}," format. A tag that you send separately, in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["config.destinationTag"]},", isn't used for matching. Ripple Custody (Wallet) matches a transfer with only a separate tag against the tagless entry, or the transfer fails with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAL010.006"]}," if only tagged entries exist. Ripple Custody (Wallet) doesn't backfill historical transactions."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Policies"]}," — Policies that reference an address book entry apply to the specific r-address and destination tag combination on that entry."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"delete-a-counterparty-or-address-via-the-console","__idx":8},"children":["Delete a counterparty or address via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Required role:"]}," Owner or Administrator."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Find the counterparty or address in its respective table."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Actions"]}," menu and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete address"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete counterparty"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the dialog, select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete address"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete counterparty"]}," again to confirm."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["With an ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]}," approval group, an address deletion takes effect after approvers approve it, and the address shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active | Approval pending"]}," until then. Counterparty deletions take effect immediately."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You must delete all of a counterparty's addresses before you can delete the counterparty. You can't delete an address while it shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compliance pending"]},", ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Creation approval pending"]},", or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deletion approval pending"]},": the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete address"]}," button in the dialog is unavailable, and the dialog says that you can't delete an address when it's pending an approval. The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Delete counterparty"]}," button is unavailable while the counterparty still has addresses. If you delete an address that shows ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Rejected"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error"]},", it stays in the counterparty's list as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Deleted"]},", and you can then no longer delete the counterparty. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api#get-or-delete-an-address-via-the-api"},"children":["Get or delete an address via the API"]},". Review any ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/policies/manage-policies"},"children":["transaction policies"]}," that reference the deleted entries. Removing an address may unintentionally narrow what a policy permits."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-the-address-book-fits-into-the-security-model","__idx":9},"children":["How the address book fits into the security model"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Address book entries are ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["global"]},": a counterparty and its addresses are available to all wallets in your organization. But the address book alone doesn't grant permission to send. For a transfer that you create in the console or through the API, two conditions must be true:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You registered the address in the address book under a counterparty, and its status is ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Active | Enabled"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/policies/manage-policies"},"children":["transaction policy"]}," on the sending wallet permits that address (or its counterparty) as a destination."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Registering counterparties and writing policies are separate permissions, but in the console you can't split them between users: only Owners and Administrators can create counterparties and addresses, and both roles can also create and delete policies. To split the duties, use API credentials: grant one credential the counterparty and address permissions, and grant another the policy permissions."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the destination isn't an enabled address book entry or one of your organization's own wallets, the transfer fails when you create it with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAL010.006"]}," (\"address not found\"). If the address exists but isn't enabled, because it's pending approval, in compliance review, rejected, or deleted, the message says that the address \"exists but is not enabled\". This also applies to your own wallet's address if it has an address book entry that isn't enabled. After you delete an address, transfers to it fail."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Some transactions don't follow these rules. Transactions that a dApp submits through WalletConnect, and passkey transactions, aren't checked against the address book, so address, counterparty, and wallet matchers in policies never match them, even when the destination is in the address book. They still need approval and pass limit evaluation. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/policies/policy-reference#matchers"},"children":["Matchers"]},". For a raw-signed transaction, the check applies to the decompiled destination address. On EVM chains, that's the transaction's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["to"]}," address. Cross-chain raw signing to a chain that Ripple Custody (Wallet) doesn't natively integrate skips the check. For an ERC-20 transfer, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["to"]}," address is the token contract, so Ripple Custody (Wallet) doesn't check the recipient in the calldata."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Internal transfers"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Transfers between wallets within your own organization don't require address book entries. The address book is only for external destinations: Ripple Custody (Wallet) rejects the address of one of your own wallets with the error \"you cannot add an internal address\"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"governance-for-address-book-changes","__idx":10},"children":["Governance for address book changes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Uncontrolled address book modifications are a significant risk: a malicious or compromised user could register a fraudulent address and then send funds to it. Mitigate this with layered controls."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"require-approval-for-new-entries-via-the-console","__idx":11},"children":["Require approval for new entries via the console"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Set up an approval group for address book entries so that new addresses require review before they become active, and address deletions require review before they take effect. Counterparties don't go through approval."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Go to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Controls"]}," section of the console and select the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Approval groups"]}," tab."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Create an approval group with the type ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Addresses"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select approvers and set a threshold."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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":["Create an approval group"]}," for the full setup."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"restrict-who-can-create-entries","__idx":12},"children":["Restrict who can create entries"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only users with the Owner or Administrator role can create address book entries. Assign the Proposer, Approver, Viewer, or Auditor role to users who must not modify the address book. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/organization-and-access/users-and-roles#counterparties"},"children":["Roles and permissions"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"audit-address-book-changes","__idx":13},"children":["Audit address book changes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ripple Custody (Wallet) logs all address book modifications (creates, updates, deletes). Use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/integrations-and-monitoring/audit-logging"},"children":["audit logging"]}," to track who changed what and when, and to detect unauthorized modifications."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"compliance-considerations","__idx":14},"children":["Compliance considerations"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The address book helps you meet regulatory requirements for counterparty due diligence:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["EU Transfer of Funds regulation"]}," — requires custodians and wallet providers to collect and verify counterparty information (travel rule data) for inbound and outbound transactions. The address book provides a structured way to record this information. When adding an address, mark custodial destinations and identify the custodian."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Counterparty due diligence"]}," — record legal names, physical addresses, and custodian information to support your organization's know-your-customer (KYC) and anti-money laundering (AML) processes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Provider checks on new addresses"]}," — Every new address goes through a compliance step before Ripple Custody (Wallet) enables it. If your organization has Elliptic enabled, Ripple Custody (Wallet) submits the address to Elliptic wallet analysis, but the result doesn't decide whether Ripple Custody (Wallet) enables the address: only a provider error, such as an outage during the scan, rejects it. If your organization has Notabene enabled, Ripple Custody (Wallet) validates organization counterparties whose address has a custodian DID. Counterparty details aren't otherwise screened."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To exchange Travel Rule data with counterparty VASPs, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/compliance/travel-rule"},"children":["Travel Rule"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"operational-best-practices","__idx":15},"children":["Operational best practices"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify addresses through an independent channel"]}," — before registering a new external address, confirm it with the counterparty through a separate communication channel (phone, in-person). Don't rely solely on email."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Review the address book regularly"]}," — remove stale counterparties and addresses that are no longer needed. Each active entry is a potential transaction destination."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Coordinate with policies"]}," — when you delete an address, review any transaction policies that reference it. Deleting an address may unintentionally narrow what a policy permits."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Document counterparty relationships"]}," — use the description field to record the business context for each counterparty (who they are, why they are in the address book, who requested the addition)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use counterparty types accurately"]}," — classify each entry correctly (Individual, Organization, or Dapp) to support compliance reporting and filtering."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"API documentation"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To manage the address book programmatically, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book-api"},"children":["Manage the address book via the API"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-guides","__idx":16},"children":["Related guides"]},{"$$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/address-book"},"children":["Address book overview"]}," — Conceptual overview"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/governance-and-controls/policies/manage-policies"},"children":["Manage policies via the console"]}," — Reference addresses in policies"]},{"$$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"]}," — Require approval for new addresses"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/wallet/integrations-and-monitoring/audit-logging"},"children":["Configure audit logging"]}," — Track address book changes"]}]}]},"headings":[{"value":"Manage address book via the console","id":"manage-address-book-via-the-console","depth":1},{"value":"Address book actions","id":"address-book-actions","depth":2},{"value":"Create a counterparty via the console","id":"create-a-counterparty-via-the-console","depth":2},{"value":"List and get counterparties via the console","id":"list-and-get-counterparties-via-the-console","depth":2},{"value":"Add an address via the console","id":"add-an-address-via-the-console","depth":2},{"value":"List addresses via the console","id":"list-addresses-via-the-console","depth":2},{"value":"XRP Ledger destination tags","id":"xrp-ledger-destination-tags","depth":2},{"value":"How destination tags affect matching","id":"how-destination-tags-affect-matching","depth":3},{"value":"Delete a counterparty or address via the console","id":"delete-a-counterparty-or-address-via-the-console","depth":2},{"value":"How the address book fits into the security model","id":"how-the-address-book-fits-into-the-security-model","depth":2},{"value":"Governance for address book changes","id":"governance-for-address-book-changes","depth":2},{"value":"Require approval for new entries via the console","id":"require-approval-for-new-entries-via-the-console","depth":3},{"value":"Restrict who can create entries","id":"restrict-who-can-create-entries","depth":3},{"value":"Audit address book changes","id":"audit-address-book-changes","depth":3},{"value":"Compliance considerations","id":"compliance-considerations","depth":2},{"value":"Operational best practices","id":"operational-best-practices","depth":2},{"value":"Related guides","id":"related-guides","depth":2}],"frontmatter":{"title":"Manage address book via the console","seo":{"title":"Manage address book via the console"}},"lastModified":"2026-10-23T12:53:15.000Z","isTranslationFallback":true,"pagePropGetterError":{"message":"","name":""}},"slug":"/pt-br/products/wallet/governance-and-controls/address-book/manage-address-book","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}