# 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 ```