Scrollrack.gg is a high-speed deck validation platform for trading card games (TCGs), currently supporting Magic: The Gathering (MTG) and Yu-Gi-Oh! with a simple, powerful API.
# Validate a Commander deck
curl -X POST https://scrollrack.topdeck.gg/api/validate \
-H "Content-Type: application/json" \
-d '{
"game": "mtg",
"format": "commander",
"list": "~~Commanders~~\n1 Atraxa, Praetors Voice\n\n~~Mainboard~~\n99 Forest"
}'
Scrollrack validates decklists against format-specific rules, checking:
Decklists use a simple text format with section markers:
~~Mainboard~~
4 Lightning Bolt
20 Mountain
~~Sideboard~~
3 Blood Moon
Section markers use double tildes (~~Section Name~~) to define different parts of your deck.
Currently supported games:
Scrollrack processes decklists in the following steps:
The Scrollrack API provides a simple RESTful interface for deck validation.
See the detailed API Reference for request/response formats, examples, and error handling.
Test the validation API with our interactive web interface:
Our live demo is available at: https://scrollrack.topdeck.gg/
async function validateDeck(decklist) {
const response = await fetch('https://scrollrack.topdeck.gg/api/validate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
game: 'mtg',
format: 'modern',
list: decklist
})
});
return await response.json();
}
import requests
def validate_deck(decklist):
response = requests.post(
'https://scrollrack.topdeck.gg/api/validate',
json={
'game': 'mtg',
'format': 'modern',
'list': decklist
}
)
return response.json()