> For the complete documentation index, see [llms.txt](https://docs.meycoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.meycoin.com/technical-specifications/addresses.md).

# Addresses

### Client-side

Account and contract addresses are Base58-check encoded strings that look like this:

```
AmQA7dHJFiA4mXXxTV5sAniLpxMrankdW4Cow3ykj1UM5G14QKL5
```

InternalThe prefix used for encoding Meey addresses in base58-check is **0x42**

[Technical explanation of Base58-check encoding](https://en.bitcoin.it/wiki/Base58Check_encoding)

### Internal

Internally (in the server and over the wire, i.e. in GRPC requests) addresses are byte arrays with a length of 33. They represent the compressed public key of an account.

[Technical explanation of public keys](https://learnmeabitcoin.com/technical/public-key)

In the case of smart contracts, the address is generated from a hash of the creator’s account and the creating transaction’s nonce, prefixed with the byte **0x0C** to arrive at a compatible length of 33 bytes. As a developer, you don’t have to worry about this: smart contract addresses can be used just the same as account addresses.
