{"templateId":"markdown","versions":[{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/accounts-and-assets/endpoints/manage-endpoints","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/accounts-and-assets/endpoints/manage-endpoints","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/accounts-and-assets/endpoints/manage-endpoints","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/accounts-and-assets/endpoints/manage-endpoints","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/accounts-and-assets/endpoints/manage-endpoints","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/accounts-and-assets/endpoints/manage-endpoints","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Manage endpoints","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"manage-endpoints","__idx":0},"children":["Manage endpoints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use this page to manage endpoint address book entries. For the concept, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/endpoints"},"children":["Endpoints"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoint-actions","__idx":1},"children":["Endpoint 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":"UI procedure"},"children":["UI procedure"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API procedure"},"children":["API procedure"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API reference"},"children":["API reference"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Register an endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#register-an-endpoint-in-the-ui"},"children":["Register an endpoint in the UI"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#register-an-endpoint-with-the-api"},"children":["Register an endpoint with the API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/createintent"},"children":["Propose an intent"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/intentdryrun"},"children":["Perform a dry run"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Register a smart contract endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#register-an-endpoint-in-the-ui"},"children":["Register an endpoint in the UI"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#register-an-endpoint-with-the-api"},"children":["Register an endpoint with the API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/createintent"},"children":["Propose an intent"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/intentdryrun"},"children":["Perform a dry run"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["View endpoint details"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#view-endpoints-in-the-ui"},"children":["View endpoints in the UI"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#view-endpoint-details-with-the-api"},"children":["View endpoint details with the API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/endpoints/getendpoints"},"children":["List endpoints"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/endpoints/getendpoint"},"children":["Get endpoint details"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update an endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#update-an-endpoint-in-the-ui"},"children":["Update an endpoint in the UI"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#update-an-endpoint-with-the-api"},"children":["Update an endpoint with the API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/createintent"},"children":["Propose an intent"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/intentdryrun"},"children":["Perform a dry run"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lock and unlock an endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Use the API procedure."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#lock-or-unlock-an-endpoint-with-the-api"},"children":["Lock or unlock an endpoint with the API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/createintent"},"children":["Propose an intent"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/intentdryrun"},"children":["Perform a dry run"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Endpoint changes use the standard intent flow. For signing, approval, and status checks, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/intents/manage-intents-and-approvals"},"children":["Manage intents and approvals"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/identity-and-access/authentication/authenticate-api-requests#signing-intents-state-mutation-operations"},"children":["Sign intents"]},", and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/intents/manage-intents-and-approvals#check-state"},"children":["Check updates"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use endpoint API read operations to list and get endpoint records. Use endpoint intent payloads to create, update, lock, and unlock endpoint records. Submit endpoint intents to ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/createintent"},"children":["Propose an intent"]},". Use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/intents/intentdryrun"},"children":["Perform a dry run"]}," before you sign high-risk or unfamiliar payloads."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-operations","__idx":2},"children":["Common operations"]},{"$$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":"Operation"},"children":["Operation"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Intent type"},"children":["Intent type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Use when"},"children":["Use when"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Register endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Add a ledger address or smart contract address as a known destination."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Update endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Change endpoint details such as address, trust score, ABI data, or custom properties."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lock endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_LockEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Disable an endpoint without deleting it."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unlock endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Re-enable a locked endpoint."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"register-an-endpoint-in-the-ui","__idx":3},"children":["Register an endpoint in the UI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can register a ledger address or, if the ledger supports smart contracts, a smart contract address as an endpoint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If this is a smart contract endpoint, you can provide the contract application binary interface (ABI) data when you register the endpoint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To register an endpoint:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoints"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create an endpoint"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the details of the endpoint, such as the name and description."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select the ledger."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the endpoint address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If the endpoint address is a smart contract address, enter smart contract ABI details in one of the following ways:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the ABI in JSON format."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Upload the ABI in a file."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Enter the trust score as a number from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Submit for Approval"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/identity-and-access/authentication/ui-authentication#sign-ui-operations"},"children":["sign the operation with the app"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The new endpoint is registered when the intent is successfully executed."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"register-an-endpoint-with-the-api","__idx":4},"children":["Register an endpoint with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can register a ledger address or, if the ledger supports smart contracts, a smart contract address as an endpoint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If this is a smart contract endpoint, you can provide the contract application binary interface (ABI) data when you create the endpoint."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before you register an endpoint, prepare:"]},{"$$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":"Prerequisite"},"children":["Prerequisite"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Additional information"},"children":["Additional information"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ledger ID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/ledgers/getledgers"},"children":["List ledgers"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Endpoint address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["For a custody account address, ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/accounts/getaccountaddress"},"children":["retrieve the account address"]},". For an external address or smart contract address, collect and validate the address before submission."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["New IDs"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prepare an endpoint ID and an intent ID in standard UUID format."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Create an endpoint by submitting a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateEndpoint"]}," intent."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"ledger-address-endpoint-payload","__idx":5},"children":["Ledger address endpoint payload"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"id\": \"c3ddaca1-07d8-437d-803b-bfdef7833aa4\",\n    \"address\": \"0x258aE861829FB6B33e7528308cA2938638590F34\",\n    \"trustScore\": 50,\n    \"ledgerId\": \"ethereum-testnet\",\n    \"alias\": \"Ethereum Testnet\",\n    \"lock\": \"Unlocked\",\n    \"description\": \"Ethereum testnet wallet\",\n    \"customProperties\": {},\n    \"type\": \"v0_CreateEndpoint\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"smart-contract-endpoint-payload","__idx":6},"children":["Smart contract endpoint payload"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"id\": \"b445e1d1-41fe-468a-a600-1b9ad7b057e1\",\n    \"address\": \"0xb2f701a94d864b131fd47c9cf4563e6298afdbfc\",\n    \"trustScore\": 50,\n    \"ledgerId\": \"ethereum-testnet\",\n    \"parameters\": {\n      \"ABI\": \"<ABI_JSON_STRING>\",\n      \"type\": \"Ethereum\"\n    },\n    \"alias\": \"MTT Smart Contract\",\n    \"lock\": \"Unlocked\",\n    \"description\": \"MTT token contract\",\n    \"customProperties\": {},\n    \"type\": \"v0_CreateEndpoint\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fields of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload"]}," block to note are:"]},{"$$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":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateEndpoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["New endpoint ID in UUID format."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ledger address or smart contract address."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["trustScore"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Score from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["0"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]}," that policies can use to define destination-specific workflows."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ledger that scopes the address."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["For smart contract endpoints, set ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ABI"]}," to the ABI string in JSON format. The only supported ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Ethereum"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["alias"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Human-readable endpoint name."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lock"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initial lock state. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Unlocked"]}," to make the endpoint available after approval."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["description"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional endpoint description."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customProperties"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required key-value metadata object with string values. Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{}"]}," when empty."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Dry run before submitting:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"curl -X POST \"${CUSTODY_API_URL}/v1/intents/dry-run\" \\\n  -H \"Authorization: Bearer ${JWT_TOKEN}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d @create-endpoint-intent.json\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Submit the signed intent:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sh","header":{"controls":{"copy":{}}},"source":"curl -X POST \"${CUSTODY_API_URL}/v1/intents\" \\\n  -H \"Authorization: Bearer ${JWT_TOKEN}\" \\\n  -H \"Content-Type: application/json\" \\\n  -d @signed-create-endpoint-intent.json\n","lang":"sh"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The endpoint is registered when the endpoint creation intent is successfully approved and executed."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"view-endpoints-in-the-ui","__idx":7},"children":["View endpoints in the UI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To view endpoints in the UI:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoints"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Review the endpoint list."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Open an endpoint to review its details."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The endpoint list shows known destinations in the selected domain."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"view-endpoint-details-with-the-api","__idx":8},"children":["View endpoint details with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To view endpoint details:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["If you do not know the endpoint ID, retrieve a list of endpoints in the domain with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/endpoints/getendpoints"},"children":["List endpoints"]},". You can filter the list by ledger with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}," query parameter."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Retrieve endpoint details with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/reference/api/openapi/endpoints/getendpoint"},"children":["Get endpoint details"]},", using the endpoint ID from step 1."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["List endpoints"]}," query parameters to narrow or sort endpoint lists:"]},{"$$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":"Task"},"children":["Task"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Query parameter"},"children":["Query parameter"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by ledger"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by alias"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["alias"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["address"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by description"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata.description"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by creator"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata.createdBy"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by last modifier"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata.lastModifiedBy"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by lock state"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lock"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by custom properties"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata.customProperties"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Paginate results"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startingAfter"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sort results"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sortBy"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["sortOrder"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API returns trusted endpoint objects. Inspect the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," object for endpoint details."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Depending on the endpoint type, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," includes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Endpoints that are ledger addresses do not include ABI data in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," field."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Endpoints that are associated with a smart contract address have ABI data in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," field in JSON format."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data"]}," object also includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["domainId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["metadata"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lock"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["trustScore"]}," so you can confirm ownership, revision, availability, and policy inputs before you use the endpoint in a transaction order. The trusted endpoint envelope also includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signature"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["signingKey"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"update-an-endpoint-in-the-ui","__idx":9},"children":["Update an endpoint in the UI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can update the following details of an endpoint:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Name and description."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Trust score."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Custom properties."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You cannot update the ledger."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To update an endpoint:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Navigate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Endpoints"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["At the end of the endpoint row, open the contextual menu and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Update the details of the endpoint."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Submit for Approval"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/identity-and-access/authentication/ui-authentication#sign-ui-operations"},"children":["sign the operation with the app"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The endpoint details are updated when the intent is successfully executed."," ","Ripple Custody"," increases the endpoint revision."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"update-an-endpoint-with-the-api","__idx":10},"children":["Update an endpoint with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can update general details of an endpoint such as the address and the trust score. For a smart contract endpoint, you can also update the application binary interface (ABI) data."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Endpoint updates use a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateEndpoint"]}," intent. Submit the update through the standard intent flow, then check the endpoint after execution."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Do not include ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}," in endpoint update payloads. The API specification marks ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ledgerId"]}," as deprecated for ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateEndpoint"]},", and you cannot update the ledger in the UI."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Omit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," unless you update ABI data for a smart contract endpoint."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"reference\": {\n      \"id\": \"c3ddaca1-07d8-437d-803b-bfdef7833aa4\",\n      \"revision\": 2\n    },\n    \"address\": \"0x258aE861829FB6B33e7528308cA2938638590F34\",\n    \"trustScore\": 75,\n    \"alias\": \"Ethereum treasury endpoint\",\n    \"description\": \"Updated Ethereum treasury destination\",\n    \"customProperties\": {},\n    \"type\": \"v0_UpdateEndpoint\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a smart contract endpoint, include the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters"]}," object with the updated ABI data:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"parameters\": {\n    \"ABI\": \"<ABI_JSON_STRING>\",\n    \"type\": \"Ethereum\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"lock-or-unlock-an-endpoint-with-the-api","__idx":11},"children":["Lock or unlock an endpoint with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Endpoint lock-state changes use the standard intent flow."]},{"$$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":"Update"},"children":["Update"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Intent type"},"children":["Intent type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Additional information"},"children":["Additional information"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lock an endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_LockEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/intents/manage-intents-and-approvals#submit-an-intent-with-the-api"},"children":["Submit an intent"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unlock an endpoint"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockEndpoint"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/intents/manage-intents-and-approvals#submit-an-intent-with-the-api"},"children":["Submit an intent"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Submit a lock intent with the current endpoint reference:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"reference\": {\n      \"id\": \"c3ddaca1-07d8-437d-803b-bfdef7833aa4\",\n      \"revision\": 2\n    },\n    \"type\": \"v0_LockEndpoint\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockEndpoint"]}," with the same reference shape to re-enable the endpoint."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"operational-checklist","__idx":12},"children":["Operational checklist"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before submitting an endpoint intent:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the endpoint is in the correct domain."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the ledger and address are correct."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm the trust score matches your policy model."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Confirm whether the endpoint represents a smart contract and needs ABI data."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Dry run the payload when using the API."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Verify the executed change by viewing the endpoint."]}]}]},"headings":[{"value":"Manage endpoints","id":"manage-endpoints","depth":1},{"value":"Endpoint actions","id":"endpoint-actions","depth":2},{"value":"Common operations","id":"common-operations","depth":2},{"value":"Register an endpoint in the UI","id":"register-an-endpoint-in-the-ui","depth":2},{"value":"Register an endpoint with the API","id":"register-an-endpoint-with-the-api","depth":2},{"value":"Ledger address endpoint payload","id":"ledger-address-endpoint-payload","depth":3},{"value":"Smart contract endpoint payload","id":"smart-contract-endpoint-payload","depth":3},{"value":"View endpoints in the UI","id":"view-endpoints-in-the-ui","depth":2},{"value":"View endpoint details with the API","id":"view-endpoint-details-with-the-api","depth":2},{"value":"Update an endpoint in the UI","id":"update-an-endpoint-in-the-ui","depth":2},{"value":"Update an endpoint with the API","id":"update-an-endpoint-with-the-api","depth":2},{"value":"Lock or unlock an endpoint with the API","id":"lock-or-unlock-an-endpoint-with-the-api","depth":2},{"value":"Operational checklist","id":"operational-checklist","depth":2}],"frontmatter":{"seo":{"title":"Manage endpoints"}},"lastModified":"2026-08-04T20:25:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/accounts-and-assets/endpoints/manage-endpoints","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}