{"openapi":"3.1.0","info":{"title":"Puzzle Solvers","version":"1.0.0","description":"Bounded solvers and checkers for sudoku, N-queens, Tower of Hanoi, magic squares, Game of Life, sliding puzzles and knight's tours. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Puzzle Solvers: Bounded solvers and checkers for sudoku, N-queens, Tower of Hanoi, magic squares, Game of Life, sliding puzzles and knight's tours. Use /sudoku-solve to solve and count solutions, /sudoku-validate to check a grid, /n-queens to count and place queens, /tower-of-hanoi for the move list, /magic-square to generate or verify, /game-of-life to step a grid, /sliding-puzzle for 8-puzzle solvability and optimal solutions, and /knights-tour-check to verify a tour. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://puzzle-solvers.x402tookit.com"}],"paths":{"/game-of-life":{"get":{"operationId":"game_of_life","summary":"Step Conway's Game of Life on a grid up to 40x40 for 1-50 generations, bounded or wrapping; detects still lifes and cycles.","description":"Step Conway's Game of Life on a grid up to 40x40 for 1-50 generations, bounded or wrapping; detects still lifes and cycles.","tags":["game-of-life","cellular-automaton","conway","puzzle"],"parameters":[{"name":"grid","in":"query","required":true,"description":"Rows separated by / or newline, equal length, up to 40x40; # or O live, . dead (example: .#./.#./.#.)","schema":{"type":"string"}},{"name":"generations","in":"query","required":false,"description":"Steps to run, 1 to 50 (default 1)","schema":{"type":"integer"}},{"name":"wrap","in":"query","required":false,"description":"true for a torus (edges wrap, needs width and height of 3 or more); default false = dead outside the edge","schema":{"type":"boolean"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"width":{"type":["null","number"]},"height":{"type":["null","number"]},"generations":{"type":["null","number"]},"wrap":{"type":["boolean","null"]},"finalGrid":{"type":["array","null"],"items":{"type":"string"}},"populationByGeneration":{"type":["array","null"],"items":{"type":"number"}},"startingPopulation":{"type":["null","number"]},"finalPopulation":{"type":["null","number"]},"cycle":{},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"EVOLVING","summary":"After 1 generation on a 3x3 bounded grid: 3 live cells.","reasons":["Rules B3/S23: a live cell with 2 or 3 live neighbours survives; a dead cell with exactly 3 becomes live."],"width":3,"height":3,"generations":1,"wrap":false,"finalGrid":["...","###","…1 more"],"populationByGeneration":[3,3],"startingPopulation":3,"finalPopulation":3,"cycle":null,"degraded":false,"notChecked":["behaviour on an unbounded plane: a bounded grid kills patterns that touch the edge, so results differ from the infinite game","other rule sets (HighLife, Seeds)"],"source":"Conway's Game of Life rules B3/S23, computed locally","asOf":"2026-10-21T01:31:32.164Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/game-of-life"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/game-of-life"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/game-of-life"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/game-of-life"}}]}}},"/knights-tour-check":{"get":{"operationId":"knights_tour_check","summary":"Verify a knight's tour on an n x n board (n up to 26): legal moves, repeats, complete tour, closed tour.","description":"Verify a knight's tour on an n x n board (n up to 26): legal moves, repeats, complete tour, closed tour.","tags":["knights-tour","chess","puzzle","verifier"],"parameters":[{"name":"n","in":"query","required":true,"description":"Board size 1 to 26","schema":{"type":"integer"}},{"name":"moves","in":"query","required":true,"description":"Squares in order as algebraic names (a1 = column a, row 1), separated by spaces, commas or arrows; at most 676 squares","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"n":{"type":["null","number"]},"valid":{"type":["boolean","null"]},"squaresVisited":{"type":["null","number"]},"totalSquares":{"type":["null","number"]},"complete":{"type":["boolean","null"]},"closed":{"type":["boolean","null"]},"remaining":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"VALID_PARTIAL_PATH","summary":"Legal knight path of 5 of 25 squares; not yet a tour.","reasons":["Odd boards have no closed tour (a closed tour alternates colours and needs equal counts)."],"n":5,"valid":true,"squaresVisited":5,"totalSquares":25,"complete":false,"closed":false,"remaining":20,"degraded":false,"notChecked":["whether a different route would complete the tour: this checks only the sequence given","tours on non-square boards"],"source":"knight move rule (a 1 by 2 step), computed locally","asOf":"2026-10-21T01:31:32.423Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/knights-tour-check"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/knights-tour-check"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/knights-tour-check"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/knights-tour-check"}}]}}},"/magic-square":{"get":{"operationId":"magic_square","summary":"Generate an n x n magic square (Siamese, doubly-even or Strachey method) or verify a grid; constant n(n^2+1)/2.","description":"Generate an n x n magic square (Siamese, doubly-even or Strachey method) or verify a grid; constant n(n^2+1)/2.","tags":["magic-square","puzzle","math","combinatorics"],"parameters":[{"name":"n","in":"query","required":false,"description":"Order to generate, 1 or 3 to 30 (2 has none). Required unless grid is given","schema":{"type":"integer"}},{"name":"grid","in":"query","required":false,"description":"To verify instead: rows separated by ; or /, numbers by commas, up to 30x30 and 4000 characters","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"n":{"type":["null","number"]},"magicConstant":{"type":["null","number"]},"method":{"type":["null","string"]},"square":{"type":["array","null"],"items":{"type":"array","items":{"type":"number"}}},"verified":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"GENERATED","summary":"Order-4 magic square with magic constant 34 = n(n^2+1)/2.","reasons":["method: doubly-even complement construction","self-check: every row, column and both diagonals sum to 34"],"n":4,"magicConstant":34,"method":"doubly-even","square":[[16,2],[5,11]],"verified":true,"degraded":false,"notChecked":["uniqueness: many magic squares exist per order and this returns one standard construction","associative, pandiagonal or other special properties"],"source":"Siamese method (odd), complement construction (doubly even), Strachey method (singly even), computed locally","asOf":"2026-10-21T01:31:32.687Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/magic-square"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/magic-square"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/magic-square"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/magic-square"}}]}}},"/n-queens":{"get":{"operationId":"n_queens","summary":"Count the ways to place n non-attacking queens on an n x n board (n up to 12) and show the first solution.","description":"Count the ways to place n non-attacking queens on an n x n board (n up to 12) and show the first solution.","tags":["n-queens","chess","puzzle","backtracking"],"parameters":[{"name":"n","in":"query","required":true,"description":"Board size and queen count, 1 to 12 (12 is the work cap)","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"n":{"type":["null","number"]},"solutionCount":{"type":["null","number"]},"firstSolution":{"type":["array","null"],"items":{"type":"number"}},"board":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SOLVABLE","summary":"92 ways to place 8 non-attacking queens on a 8x8 board.","reasons":["firstSolution lists the 1-based column of the queen in each row, the lexicographically smallest solution."],"n":8,"solutionCount":92,"firstSolution":[1,5],"board":["Q.......","....Q...","…6 more"],"degraded":false,"notChecked":["n above 12 (refused to bound the work)","solutions counted as distinct when rotated or reflected: the count is of ALL placements, not of equivalence classes"],"source":"bitmask backtracking, computed locally; counts match OEIS A000170","asOf":"2026-10-21T01:31:32.952Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/n-queens"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/n-queens"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/n-queens"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/n-queens"}}]}}},"/sliding-puzzle":{"get":{"operationId":"sliding_puzzle","summary":"8- or 15-puzzle: solvable by inversion parity? Optimal solution for 8-puzzle boards via IDA*, work-capped.","description":"8- or 15-puzzle: solvable by inversion parity? Optimal solution for 8-puzzle boards via IDA*, work-capped.","tags":["sliding-puzzle","8-puzzle","15-puzzle","ida-star"],"parameters":[{"name":"board","in":"query","required":true,"description":"9 or 16 numbers row by row, 0 = blank, comma separated (8-puzzle may be 9 plain digits); goal is 1..N-1 then blank last","schema":{"type":"string"}},{"name":"solve","in":"query","required":false,"description":"true (default) to also search for an optimal solution; false for the parity check only","schema":{"type":"boolean"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"size":{"type":["null","string"]},"puzzle":{"type":["null","string"]},"inversions":{"type":["null","number"]},"blankRowFromBottom":{"type":["null","number"]},"solvable":{"type":["boolean","null"]},"optimalMoves":{"type":["null","number"]},"tileSequence":{"type":["array","null"],"items":{"type":"number"}},"manhattanLowerBound":{"type":["null","number"]},"nodes":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SOLVED_OPTIMAL","summary":"Solvable; optimal solution is 31 slides.","reasons":["Odd width: solvable exactly when the inversion count is even.","IDA* with Manhattan distance returns a shortest solution."],"size":"3x3","puzzle":"8-puzzle","inversions":24,"blankRowFromBottom":1,"solvable":true,"optimalMoves":31,"tileSequence":[5,6],"manhattanLowerBound":21,"nodes":14195,"degraded":false,"notChecked":["optimal search stops after 3,000,000 nodes: hard 15-puzzle boards (optimal length above roughly 45) may hit the cap and return SOLVABLE_SOLUTION_NOT_FOUND","boards of other sizes or rectangular boards"],"source":"inversion-parity rule (Johnson and Story 1879) and IDA* with Manhattan distance, computed locally","asOf":"2026-10-21T01:31:33.222Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sliding-puzzle"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sliding-puzzle"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sliding-puzzle"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sliding-puzzle"}}]}}},"/sudoku-solve":{"get":{"operationId":"sudoku_solve","summary":"Solve a 9x9 sudoku (81 chars, 0 or . blank): solution, solution count up to 2, unique or multi, or unsolvable.","description":"Solve a 9x9 sudoku (81 chars, 0 or . blank): solution, solution count up to 2, unique or multi, or unsolvable.","tags":["sudoku","solver","puzzle","backtracking"],"parameters":[{"name":"grid","in":"query","required":true,"description":"81 cells row by row: digits 1-9, 0 or . for blank; whitespace ignored; at most 400 characters before whitespace is removed","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"clues":{"type":["null","number"]},"blanks":{"type":["null","number"]},"givens":{"type":["null","string"]},"solutionCount":{"type":["null","number"]},"solutionCountNote":{"type":["null","string"]},"unique":{"type":["boolean","null"]},"solution":{"type":["null","string"]},"solutionRows":{"type":["array","null"],"items":{"type":"string"}},"nodes":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"UNIQUE_SOLUTION","summary":"Solved with exactly one solution (30 clues).","reasons":["A proper sudoku has exactly one solution; the search exhausted all alternatives."],"clues":30,"blanks":51,"givens":"530070000600195000098000060800060003400803001700020006060000280000419005000080079","solutionCount":1,"solutionCountNote":"exact","unique":true,"solution":"534678912672195348198342567859761423426853791713924856961537284287419635345286179","solutionRows":["534678912","672195348","…7 more"],"nodes":51,"degraded":false,"notChecked":["search stops after 1,000,000 placements; a hit is reported as WORK_LIMIT_REACHED, never as unsolvable","solving techniques or difficulty rating: this finds the answer, it does not teach the human steps","…1 more"],"source":"backtracking search with candidate bitmasks and most-constrained-cell choice, computed locally","asOf":"2026-10-21T01:31:33.479Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-solve"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-solve"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-solve"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-solve"}}]}}},"/sudoku-validate":{"get":{"operationId":"sudoku_validate","summary":"Check a 9x9 sudoku grid for repeated digits by row, column and box; says if it is legal, complete or solved.","description":"Check a 9x9 sudoku grid for repeated digits by row, column and box; says if it is legal, complete or solved.","tags":["sudoku","validator","puzzle"],"parameters":[{"name":"grid","in":"query","required":true,"description":"81 cells row by row: digits 1-9, 0 or . for blank; whitespace ignored; at most 400 characters before whitespace is removed","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"blanks":{"type":["null","number"]},"filled":{"type":["null","number"]},"legal":{"type":["boolean","null"]},"complete":{"type":["boolean","null"]},"conflicts":{"type":["array","null"]},"conflictCount":{"type":["null","number"]},"solved":{"type":["boolean","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SOLVED","summary":"Complete grid with every row, column and box holding 1-9 exactly once.","reasons":[],"blanks":0,"filled":81,"legal":true,"complete":true,"conflicts":[],"conflictCount":0,"solved":true,"degraded":false,"notChecked":["whether a legal incomplete grid can still be finished: use /sudoku-solve for that","whether the puzzle is unique"],"source":"sudoku rules (each row, column and 3x3 box holds 1-9 once), computed locally","asOf":"2026-10-21T01:31:33.741Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-validate"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-validate"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-validate"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/sudoku-validate"}}]}}},"/tower-of-hanoi":{"get":{"operationId":"tower_of_hanoi","summary":"Optimal Tower of Hanoi move list for up to 10 disks between pegs A, B and C, and the minimum move count 2^n - 1.","description":"Optimal Tower of Hanoi move list for up to 10 disks between pegs A, B and C, and the minimum move count 2^n - 1.","tags":["hanoi","recursion","puzzle","algorithm"],"parameters":[{"name":"n","in":"query","required":true,"description":"Number of disks, 1 to 10 (1,023 moves at 10); disk 1 is the smallest","schema":{"type":"integer"}},{"name":"from","in":"query","required":false,"description":"Source peg A, B or C (default A)","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"Target peg A, B or C (default C); must differ from source","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"n":{"type":["null","number"]},"from":{"type":["null","string"]},"to":{"type":["null","string"]},"spare":{"type":["null","string"]},"minimumMoves":{"type":["null","number"]},"moveCount":{"type":["null","number"]},"moves":{"type":["array","null"],"items":{"type":"object","properties":{"step":{"type":["null","number"]},"disk":{"type":["null","number"]},"from":{"type":["null","string"]},"to":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SOLVED","summary":"3 disks from A to C take the minimum 7 moves (2^3 - 1).","reasons":["The recursive solution is optimal: moving n disks needs 2^n - 1 moves and no shorter sequence exists."],"n":3,"from":"A","to":"C","spare":"B","minimumMoves":7,"moveCount":7,"moves":[{"step":1,"disk":1,"from":"A","to":"C"},{"step":2,"disk":2,"from":"A","to":"B"}],"degraded":false,"notChecked":["variants with four or more pegs (Frame-Stewart) or restricted moves","n above 10 (refused to bound the output)"],"source":"classic recursive solution, computed locally; minimum 2^n - 1 moves is the proven optimum","asOf":"2026-10-21T01:31:34.004Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/tower-of-hanoi"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/tower-of-hanoi"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/tower-of-hanoi"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://puzzle-solvers.x402tookit.com/tower-of-hanoi"}}]}}}}}