> ## Documentation Index
> Fetch the complete documentation index at: https://developer.uphold.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Address Book overview

> Understand how Travel Rule verification works for a saved crypto address, ahead of a deposit or withdrawal.

A `crypto` [external account](/rest-apis/core-api/external-accounts/introduction#types-of-external-accounts) — an address saved in the Address Book — can carry a Travel Rule verification of its address. Verifying it up front means the address is already compliant by the time the user deposits to or withdraws from it.

A verification is tracked as one entry per `level`:

* **`declared`** — a self-declaration questionnaire about the address (e.g. whether it belongs to a VASP or a self-hosted wallet). This is the level covered by this guide.
* **`verified`** — cryptographic proof of address ownership, through message signing or a Satoshi test. This level can't be initiated through the Address Book API yet — it's achieved when the address is verified during a crypto deposit or withdrawal, and the resulting verification is then also reflected here.

<Info>
  Initiating a `verified`-level verification directly through this API — without needing a prior deposit or withdrawal — is planned for a future release.
</Info>

Both levels are backed by the same mechanism: a request for information (RFI), whose `proofOptions` field lists which proof mechanisms are available, and whose `proof` field holds what was submitted once resolved. See [Proof types](/developer-guides/travel-rule/overview#proof-types) for details on `self-declaration`, `message-signing`, and `satoshi-test`.

## Relation to external accounts

Verifications are managed through the [External accounts](/rest-apis/core-api/external-accounts/introduction#verifying-a-crypto-external-account) endpoints — [Set up](/rest-apis/core-api/external-accounts/setup-external-account-verification), [Get](/rest-apis/core-api/external-accounts/get-external-account-verification), and [List](/rest-apis/core-api/external-accounts/list-external-account-verifications) verification. This guide walks through using them end to end.

## Start building

<CardGroup cols={2}>
  <Card title="Verify via API" icon="code" href="/developer-guides/travel-rule/address-book/via-api">
    Set up and resolve a `declared`-level verification for a saved crypto address.
  </Card>
</CardGroup>
