Thank you for your interest in contributing to Alchemy's documentation! This guide will help you get started with the contribution process.
Alchemy's documentation is split across two repositories:
| Repository | Description |
|---|---|
alchemyplatform/docs (this repo) |
Content repository — MDX pages, API specs (OpenAPI/OpenRPC), navigation config, and content indexing |
OMGWINNING/docs-site (private) |
Site repository — custom Next.js application that renders the content |
As a content contributor, you only need to work in this repo. The docs site fetches content from here via the GitHub API and caches it in Redis. When changes are merged to main, the live site is automatically revalidated.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/docs.git - Set up the upstream repository:
git remote add upstream https://github.com/alchemyplatform/docs.git
- Install dependencies:
pnpm i - Create a new branch:
git checkout -b initials/your-feature-name
[!INFO] Alchemy employees do not need to create their own fork!
- Located in
content/ - Written in MDX format
- Update
content/docs.ymlwhen adding, removing, or moving pages
For available MDX components and syntax, see the MDX Features Reference.
REST APIs (OpenAPI)
- Location:
src/openapi/ - Define APIs using YAML following the OpenAPI Specification
Tip
Use the Redocly VSCode extension to enable OpenAPI spec validation with Intellisense.
JSON-RPC APIs (OpenRPC)
- Location:
src/openrpc/ - Define APIs following the OpenRPC Specification
- Structure:
alchemy/: Alchemy-specific APIschains/: Chain-specific APIs (e.g., ethereum, polygon)
Tip
Use the YAML VSCode extension to get some basic OpenRPC validation with Intellisense.
Smart Wallets documentation has its own contributing guide. Additionally, Account Kit SDK references are maintained separately in the aa-sdk repository.
If you are not an Alchemy Employee, you will need to create your own fork.
- Fork the repo (if you haven't already)
- Make your changes
- Run linting:
pnpm run lint - Commit your changes
- Push to your fork
- Create a pull request to the upstream
This is a content-only repository — there is no local dev server. Instead, users can preview branch changes before merging via the preview link generated on each PR. Alchemy contributors can also preview local content using the following command:
pnpm previewNote
Previewing local content requires environment variables. See .env.example for the required variables.
This project implements a modified version of the Markdown Style Guide which is enforced in Eslint via remark-lint. Please ensure you abide by the guidelines set there.
To keep your fork up-to-date with the original repository:
# Fetch changes from the original repository
git fetch upstream
# Checkout your main branch
git checkout main
# Merge changes from the original repository
git merge upstream/main
# Push the updated main branch to your fork
git push origin mainAll documentation assets are hosted on Cloudinary - do NOT commit images/videos to Git.
Note for External Contributors: Cloudinary access is only available to internal Alchemy team members. If you need to add images or videos to your contribution, please upload them to a temporary location (like GitHub Issues or PR comments) and ask the Alchemy team to upload them to Cloudinary for you.
-
Upload to Cloudinary (Internal contributors only)
- Sign-in to Cloudinary through Okta.
- Upload to the
docs/folder - Organize by section:
docs/api-reference/,docs/tutorials/,docs/guides/, etc.
-
Copy the Cloudinary URL
- Click on your uploaded asset
- Copy the "Secure URL" (starts with
https://alchemyapi-res.cloudinary.com/)
-
Add to Your MDX File

- ✅ Use descriptive filenames:
nft-api-dashboard.png - ✅ Optimize images before uploading (keep under 1 MB)
- ❌ Don't commit images to Git
- ❌ Don't use generic names like
image.png - ❌ Don't link to external CDNs (GitHub, Imgur, etc.)
<embed
src="https://alchemyapi-res.cloudinary.com/raw/upload/v1234567890/docs/section/video.webm"
type="video/webm"
style={{ width: '100%' }}
/>- Ensure your PR addresses a specific issue or adds a specific feature
- Include a clear description of the changes
- Reference any related issues in your PR description
- Ensure all checks pass before submitting
- Follow the existing code style and formatting
Unsure how to make changes yourself? Feel free to open an issue using the appropriate template. Please fill out required fields and provide as much detail as possible to ensure contributors can be as helpful as possible.
If you work at Alchemy you don't need to create your own fork. Members of the Alchemy Employees Team team in GitHub are automatically granted direct access. Clicking on the alchemyplatform tile in Okta should automatically add you to this team! Please contact IT if you need further assistance being added to the team.
Note
The SSH key you use with GitHub must have SSO enabled to work. You can do that here. Click the "Configure SSO" dropdown and authorize alchemyplatform
If you have any questions or need help, please open an issue in the repository.