```python
def hop_chain(hops: list) -> bool:
    if not hops:
        return True
    
    current_end = hops[0][1]
    for start, end in hops[1:]:
        if start != current_end:
            return False
        current_end = end
    
    return current_end == hops[0][0]
```