---
# System prepended metadata

title: Cardano Shelley Addresses

---

# Cardano Shelley Addresses

## Overview

```mermaid
graph TD
    subgraph OverviewGraph [Overview]
    Mnemonic[["fa:fa-list-ul mnemonic"]]
    RootKeyPair(["fa:fa-key Root KeyPair"])
    SpendKeyPair(["fa:fa-key Spending KeyPair"])
    SpendSigningKey(["fa:fa-key Signing Key"])
    SpendVerificationKey(["fa:fa-key Verification Key"])
    StakeKeyPair(["fa:fa-key Staking KeyPair"])
    StakeVerificationKey(["fa:fa-key Verification Key"])
    StakeSigningKey(["fa:fa-key Signing Key"])
    BaseAddress[["fa:fa-envelope Base Address"]]
    StakeAddress[["fa:fa-envelope Staking Address"]]
    Mnemonic --> RootKeyPair
    RootKeyPair --> SpendKeyPair & StakeKeyPair
    SpendKeyPair --> SpendSigningKey & SpendVerificationKey
    StakeKeyPair --> StakeVerificationKey & StakeSigningKey
    SpendVerificationKey & StakeVerificationKey --> BaseAddress
    StakeVerificationKey --> StakeAddress
    end
```

<iframe frameborder="0" width="100%" height="1000px" src="https://repl.it/@sleepdefic1t/ShelleyAddressVerbose?lite=true"></iframe>

## Mnemonic to Addresses

```mermaid
graph TD
    subgraph AddressSubgraph [ ]
    Mnemonic[["fa:fa-list-ul mnemonic"]]
    RootKeyPair(["fa:fa-key Root KeyPair"])
    SpendKeyPair(["fa:fa-key Spending KeyPair"])
    StakeKeyPair(["fa:fa-key Staking KeyPair"])
    BaseAddress[["fa:fa-envelope Base Address"]]
    StakeAddress[["fa:fa-envelope Staking Address"]]
    Mnemonic --> RootKeyPair
    RootKeyPair -.-> SpendKeyPair & StakeKeyPair
    SpendKeyPair --> BaseAddress & StakeAddress
    StakeKeyPair --> BaseAddress
    end
```

### Root KeyPair

```mermaid
graph TD
    subgraph RootKeyPairSubgraph [ ]
    RootKeyPair(["fa:fa-key Root KeyPair"])
    SpendKeyPair(["fa:fa-key Spending KeyPair"])
    StakeKeyPair(["fa:fa-key Staking KeyPair"])
    RootKeyPair -.-> SpendKeyPair & StakeKeyPair
    end
```

### KeyPairs to Addresses

```mermaid
graph TD
    subgraph SpendingAndStakingKeyPairs [ ]
    SpendKeyPair(["fa:fa-key Spending KeyPair"])
    SpendSigningKey(["fa:fa-key Signing Key"])
    SpendVerificationKey(["fa:fa-key Verification Key"])
    StakeKeyPair(["fa:fa-key Staking KeyPair"])
    StakeVerificationKey(["fa:fa-key Verification Key"])
    StakeSigningKey(["fa:fa-key Signing Key"])
    BaseAddress[["fa:fa-envelope Base Address"]]
    StakeAddress[["fa:fa-envelope Staking Address"]]
    SpendKeyPair -.-> SpendSigningKey & SpendVerificationKey
    StakeKeyPair -.-> StakeVerificationKey & StakeSigningKey
    SpendVerificationKey & StakeVerificationKey --> BaseAddress
    StakeVerificationKey --> StakeAddress
    end
```


