This first document gives a high-level overview, without being too technical. It is roughly based on the federation.md proposal.
We also have a separate document that describes the exact JSON format used by Lemmy, and how the various fields are interpreted.
The links go to our test instance (which is already federating). It will also be available from dev.lemmy.ml once we deploy the next version.
If anything is unclear or missing from those docs, please comment here and we will add it.