# Endpoints

An **endpoint** associates ledger addresses with human-readable aliases to keep track of whitelisted and blacklisted addresses. It is also used to register smart contract addresses and possibly associate an ABI to them.

An **endpoint** may be used as a destination to a **transaction order**, therefore acting as a form of address book entry. Ripple Custody ensures a secure mapping of the **endpoint** to its underlying address when preparing the **transaction** for execution.

An **endpoint** may also be used to validate the destination of a **transaction order** within a policy and to trigger specific approval workflows depending on the attributes of the **endpoint**. For instance, a **policy** may enforce a simplified approval workflow when the destination **endpoint** is marked as whitelisted, or may require an exceptional set of approvers when it is marked as blacklisted.

Lastly, endpoints may also be used to attach meta information to an address. This is the case of smart contract addresses, for instance, which may be attached to the interface, or ABI, of the contract, such that the methods and properties of the contract are known to the system.

The locking of an **endpoint** prevents its use in any context.

## List endpoints

 - [GET /v1/domains/{domainId}/endpoints](https://docs.ripple.com/products/custody/v1.34/api/reference/openapi/endpoints/getendpoints.md)

## Get endpoint details

 - [GET /v1/domains/{domainId}/endpoints/{endpointId}](https://docs.ripple.com/products/custody/v1.34/api/reference/openapi/endpoints/getendpoint.md)

