> For the complete documentation index, see [llms.txt](https://commun-platform.gitbook.io/commun-platform-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://commun-platform.gitbook.io/commun-platform-docs/platform-architecture/about-visitorregistry.md).

# About VisitorRegistry

## What is VisitorRegistry

`VisitorRegistry` is a contract that enables the use of temporary EOAs. Normally, the `PoV` is minted to the EOA contained in the spot signature indicating the visitor, but if the visitor's EOA is registered in the `VisitorRegistry`, it is minted to the resulting EOA that is resolved in the VisitorRegistry. This generates an EOA for temporary use in the application, which can be used to obtain a spot signature and proof of visit. This means that you do not need to connect a Wallet such as Metamask to receive spot signatures and proof of visitation each time.

## How to use VisitorRegistry?

`VisitorRegistry` ties the temporary EOA to the main Wallet, such as Metamask. `VisitorRegistry::register()` is used to tie the two together.

```
{
  "visitorRegisterPermit": {
    "visitor": "VISITOR_EOA",
    "owner": "OWNER_EOA",
    "nonce": 0,
    "deadline": UNIXTIME_AS_SEC
  },
  "visitorV": VISITOR_SIGNATURE_V,
  "visitorR": "VISITOR_SIGNATURE_R",
  "visitorS": "VISITOR_SIGNATURE_S",
  "ownerV": OWNER_SIGNATURE_V,
  "ownerR": "OWNER_SIGNATURE_R",
  "ownerS": "OWNER_SIGNATURE_S"
}  
```

`VISITOR_SIGNATURE` and `OWNER_SIGNATURE` are signatures over the hash received from `VisitorRegistry::getTypedDataHash()`.
