| Event | 2025 Stockholm Regional Championships |
|---|---|
| Location | Stockholm, Sweden |
| Date | 22–23 March 2025 |
| Attendance | 344 players (MA) |
| Videogame | Pokémon Scarlet and Pokémon Violet |
| Season | 2025 Season – VGC Regulation Set G |
| Format | 8 Day 1 Swiss rounds + 2 Day 2 Swiss rounds + asymmetrical top cut Open team lists |
| Organizer | Fanfinity |
Check the organizer’s website here for further info!
Table of Contents
Teams and results
Top cut
| # | Swiss | Flag | Player | Prize | Team | OTS | EVs |
|---|---|---|---|---|---|---|---|
| 1 | 9-1 | ![]() | Michael Kelsch (Michi) | 2025 Worlds 350 CP $6,000 | |||
| 2 | 9-1 | ![]() | Eric Rios (AEsir) | 325 CP $4,000 | |||
| 3 | 9-1 | ![]() | Matteo Ballini (Mava) | 300 CP $2,000 | |||
| 4 | 8-2 | ![]() | Jamie Boyt (Boyt) | 300 CP $2,000 | |||
| 5 | 8-2 | ![]() | Adrián Isidoro (Adri) | 280 CP $1,000 | |||
| 6 | 8-2 | ![]() | Mattie Morgan (Mattie) | 280 CP $1,000 | |||
| 7 | 8-2 | ![]() | Federico Camporesi (FedeCampoVGC) | 280 CP $1,000 | |||
| 8 | 8-2 | ![]() | Louis Markl (Louis) | 280 CP $1,000 | |||
| 9 | 9-1 | ![]() | Tom Winter (TZ111) | 160 CP $750 | |||
| 10 | 8-2 | ![]() | Oscar Gilley (Oscar) | 160 CP $750 | |||
| 11 | 8-2 | ![]() | Flavio Del Pidio (PADØ) | 160 CP $750 | |||
| 12 | 8-2 | ![]() | Justin Cerioni (Sompres) | 160 CP $750 | |||
| 13 | 8-2 | ![]() | Alberto Cañuelo (Cañuelo) | 160 CP $750 | |||
| 14 | 8-2 | ![]() | Marco Silva (marcofiero) | 160 CP $750 | |||
| 15 | 8-2 | ![]() | Roberto Parente (Roberto) | 160 CP $750 | |||
| 16 | 8-2 | ![]() | Christoph Gooss (Gohs) | 160 CP $750 | |||
| 17 | 8-2 | ![]() | Mikael Viljanen (maikkeli) | 125 CP | |||
| 18 | 8-2 | ![]() | Lorenzo Antognoni (Dubious) | 125 CP | |||
| 19 | 8-2 | ![]() | Gilberto Goracci (Gilberto) | 125 CP | |||
| 20 | 8-2 | ![]() | Luca Breitling-Pause (20Luggi80) | 125 CP |

Day 2 Swiss rounds
Check here to see the seeds for top cut from the Day 2 Swiss standings!
| # | Swiss | Flag | Player | Prize | Team | OTS | EVs |
|---|---|---|---|---|---|---|---|
| 21 | 7-3 | ![]() | Conor McCormack (Bomber) | 125 CP | |||
| 22 | 7-3 | ![]() | Steinar Nicolaisen (Steinar) | 125 CP | |||
| 23 | 7-3 | ![]() | Ruben Gianzini (Sedia) | 125 CP | |||
| 24 | 7-3 | ![]() | Kusha Kanani (Busha) | 125 CP | |||
| 25 | 7-3 | ![]() | Matt Maynard (bwenty) | 125 CP | |||
| 26 | 7-3 | ![]() | Hsuan-Chih Kuo (Suggy) | 125 CP | |||
| 27 | 7-3 | ![]() | Florian Hoffmann (Florian) | 125 CP | |||
| 28 | 7-3 | ![]() | Sander Tiggelman (TiggelWiggel) | 125 CP | |||
| 29 | 7-3 | ![]() | Markus Hamann (Yoshi) | 125 CP | |||
| 30 | 7-3 | ![]() | Jake Herbert (JustJakey) | 125 CP | |||
| 31 | 7-3 | ![]() | Nicolò Lazzerini Denchi (NICO) | 125 CP | |||
| 32 | 7-3 | ![]() | Giuseppe Musicco (Peppe) | 125 CP | |||
| 33 | 7-3 | ![]() | Francesco Pio Pero (CICCIOTT) | 100 CP | |||
| 34 | 7-3 | ![]() | Vincenzo Zugaro (Vinz) | 100 CP | |||
| 35 | 7-3 | ![]() | Luke Kroll (Luke) | 100 CP | |||
| 36 | 7-3 | ![]() | Khalil Hoggui (KalionD) | 100 CP | |||
| 37 | 7-3 | ![]() | Andrea Rattini (Blue) | 100 CP | |||
| 38 | 7-3 | ![]() | Manuel Hernández (Manu) | 100 CP | |||
| 39 | 7-3 | ![]() | Michał Kwiatkowski (Narret) | 100 CP | |||
| 40 | 7-3 | ![]() | Francesco Iozzia (Young Nova) | 100 CP | |||
| 41 | 6-4 | ![]() | Marcus Koh (Calculus) | 100 CP | |||
| 42 | 6-4 | ![]() | Víctor Jiménez (VictorJColl) | 100 CP | |||
| 43 | 6-4 | ![]() | Jaime Rodríguez (Jaime) | 100 CP | |||
| 44 | 6-4 | ![]() | Michael Bianchi (Tenryu) | 100 CP | |||
| 45 | 6-4 | ![]() | Ethan Petiteau (Hicchan) | 100 CP | |||
| 46 | 6-4 | ![]() | Pierre Coste (Guacamou) | 100 CP | |||
| 47 | 6-4 | ![]() | Mark Cotter (Mark) | 100 CP | |||
| 48 | 6-4 | ![]() | Teemu Mankinen (Derith96) | 100 CP | |||
| 49 | 6-4 | ![]() | Ferdinando Vincenti (TedWinners) | 100 CP |
Day 1 Swiss rounds
All players with 2 or fewer losses advance to Day 2!
| # | Swiss | Flag | Player | Prize | Team | OTS | EVs |
|---|---|---|---|---|---|---|---|
| 50 | 5-3 | ![]() | Rahim Farzan (Pres) | 100 CP | |||
| 51 | 5-3 | ![]() | Selahattin Sturm (Sela) | 100 CP | |||
| 52 | 5-3 | ![]() | Adam Cherfaoui (Shao) | 100 CP | |||
| 53 | 5-3 | ![]() | Giulio Fioretti (Giulius95) | 100 CP | |||
| 54 | 5-3 | ![]() | Stefano Greppi (Ste) | 100 CP | |||
| 55 | 5-3 | ![]() | Gustav Lund (Gustav) | 100 CP | |||
| 56 | 5-3 | ![]() | Marc Torralba (Markusme) | 100 CP | |||
| 57 | 5-3 | ![]() | Christian Maccise (chrismac) | 100 CP | |||
| 58 | 5-3 | ![]() | Asra Stone (Bread) | 100 CP | |||
| 59 | 5-3 | ![]() | Víctor Medina (Torviv) | 100 CP | |||
| 60 | 5-3 | ![]() | Roi Gómez (RoiRehh) | 100 CP | |||
| 61 | 5-3 | ![]() | Andrea Nesti (Nes7a) | 100 CP | |||
| 62 | 5-3 | ![]() | Bart van Doorn (Trabje) | 100 CP | |||
| 63 | 5-3 | ![]() | Benji Clemente (BenjiCumbias) | 100 CP | |||
| 64 | 5-3 | ![]() | Flavio Colognato (Flapoké) | 100 CP | |||
| 65 | 5-3 | ![]() | Lorenzo Silvestrini (Lore) | 80 CP | |||
| 66 | 5-3 | ![]() | Alberto Fornaini (Lait) | 80 CP | |||
| 67 | 5-3 | ![]() | David Fernández (Xpartaz) | 80 CP | |||
| 68 | 5-3 | ![]() | Cameron Smith (Cameron) | 80 CP | |||
| 69 | 5-3 | ![]() | Livio Sandberg (Livio) | 80 CP | |||
| 70 | 5-3 | ![]() | Alexander Mengarelli (Sven) | 80 CP | |||
| 71 | 5-3 | ![]() | Santiago Molina (Santi) | 80 CP | |||
| 72 | 5-3 | ![]() | Llum de Palau (firebubble) | 80 CP | |||
| 73 | 5-3 | ![]() | Shane Whelan (Shane) | 80 CP | |||
| 74 | 5-3 | ![]() | Juanma Luque (JuanmaEl32) | 80 CP | |||
| 75 | 5-3 | ![]() | Oscar Princivalle (Swamp) | 80 CP | |||
| 76 | 5-3 | ![]() | Federico Masu (FedeMitra9) | 80 CP | |||
| 77 | 5-3 | ![]() | Milko Mattavelli (Milko) | 80 CP | |||
| 78 | 5-3 | ![]() | Samuel Pereira (CSK) | 80 CP | |||
| 79 | 5-3 | ![]() | Juan Francisco Alcaraz (Cro) | 80 CP | |||
| 80 | 5-3 | ![]() | Javier Freire (Javi) | 80 CP | |||
| 81 | 5-3 | ![]() | Amrit Mann (Splash) | 80 CP | |||
| 82 | 5-3 | ![]() | Femi Jordanovic (BlueBreath) | 80 CP | |||
| 83 | 5-3 | ![]() | Mika Shannon (Bruh) | 80 CP | |||
| 84 | 5-3 | ![]() | Tuukka Pentinsaari (Tuge) | 80 CP | |||
| 85 | 5-3 | ![]() | Manuel Bongini (Blakunz) | 80 CP | |||
| 86 | 5-3 | ![]() | Daniel Hawthorne (Teslobo) | 80 CP | |||
| 87 | 5-3 | ![]() | Luca Lussignoli (MOODY GIRL) | 80 CP | |||
| 88 | 5-3 | ![]() | Antonio Sánchez (Antonio) | 80 CP | |||
| 89 | 5-3 | ![]() | Simon Eriksson (Simon) | 80 CP | |||
| 90 | 5-3 | ![]() | Max van Westrop (Giel) | 80 CP | |||
| 91 | 5-3 | ![]() | Valentijn Visser (valentijn) | 80 CP | |||
| 92 | 5-3 | ![]() | Alessio Fuscà (NikyuAlex) | 80 CP | |||
| 93 | 5-3 | ![]() | Saffron McIver (GenericName) | 80 CP | |||
| 94 | 5-3 | ![]() | Jesús González (Yisus) | 80 CP | |||
| 95 | 5-3 | ![]() | David Riley (DavveDP) | 80 CP | |||
| 96 | 5-3 | ![]() | David Barker (Muphry) | 80 CP | |||
| 97 | 5-3 | ![]() | Simon Bernard (Ryo) | 80 CP | |||
| 98 | 5-3 | ![]() | Sam Bentham (Sam) | 80 CP | |||
| 99 | 5-3 | ![]() | Dan Hughes (dan chunks) | 80 CP | |||
| 100 | 5-3 | ![]() | Javier Señorena (Javi) | 80 CP | |||
| 101 | 5-3 | ![]() | Camilo Liberona (Linko) | 80 CP | |||
| 102 | 5-3 | ![]() | Anni Tarvainen (Anni) | 80 CP | |||
| 103 | 5-3 | ![]() | Juan Pescador (Kera) | 80 CP | |||
| 104 | 5-3 | ![]() | Carlos Cabal (miraii) | 80 CP | |||
| 105 | 5-3 | ![]() | Anton Meßner (AGGOAT) | 80 CP | |||
| 106 | 5-3 | ![]() | Carlos Caño (Murphy) | 80 CP | |||
| 107 | 5-3 | ![]() | Jannik Koch (Jannik) | 80 CP | |||
| 108 | 5-3 | ![]() | Oliver Eskolin (Owe) | 80 CP | |||
| 109 | 5-3 | ![]() | Joseph Russell (Joe) | 80 CP | |||
| 110 | 5-3 | ![]() | Raj Desai (Raj) | 80 CP | |||
| 111 | 5-3 | ![]() | Ryan Powney (Giggsy) | 80 CP | |||
| 112 | 5-3 | ![]() | Quinten Sandberg (Quinten) | 80 CP | |||
| 113 | 5-3 | ![]() | Khaled Abusaada (Zaneek) | 80 CP | |||
| 114 | 5-3 | ![]() | Javier Moreno (Trezko) | 80 CP | |||
| 115 | 5-3 | ![]() | Pietro Xella (RedX) | 80 CP | |||
| 116 | 5-3 | ![]() | Francesco Magurno (Franci) | 80 CP | |||
| 117 | 5-3 | ![]() | Benjamin van Hoeckel (Benji) | 80 CP | |||
| 118 | 5-3 | ![]() | Matteo Ferrari (Ferro01VGC) | 80 CP | |||
| 119 | 5-3 | ![]() | Jamie Chen (Γ ı/- e:t) | 80 CP | |||
| 120 | 5-3 | ![]() | Oliver Bøgebjerg (MyNameSuckz) | 80 CP | |||
| 121 | 5-3 | ![]() | Tom Tynan (Madeline) | 80 CP | |||
| 122 | 5-3 | ![]() | Gregory Mohr (Gregory) | 80 CP | |||
| 123 | 4-3 | ![]() | Maurice Uteg (Miku) | 80 CP | |||
| 124 | 4-4 | ![]() | Alessio Ferrara (Alessio) | 80 CP | |||
| 125 | 4-4 | ![]() | Théotime Massaut (Didi) | 80 CP | |||
| 126 | 4-4 | ![]() | Juli Manrique (JULI) | 80 CP | |||
| 127 | 4-4 | ![]() | Nikita Stoller (Chizu) | 80 CP | |||
| 128 | 4-4 | ![]() | Mark Mullender (Mark) | 80 CP |
Streaming
The event is broadcast live on Twitch and YouTube, with Ben Kyriakou, David Partington, Kosta Daidimos and Lee Provost as casters. Victory Road is behind the scenes!
- Day 1: stream starts on 22 March at 08:15 UTC
- Day 2 + Top Cut: stream starts on 23 March at 08:00 UTC
| Round | Player 1 | vs | Player 2 |
|---|---|---|---|
| R2 | ![]() Marcus Koh | vs | ![]() Francesco Pio Pero |
| R3 | ![]() Hsuan-Chih Kuo | vs | ![]() Théotime Massaut |
| R4 | ![]() Jamie Boyt | vs | ![]() Andrea Nesti |
| R5 | ![]() Matt Maynard | vs | ![]() Rahim Farzan |
| R6 | ![]() Oscar Gilley | vs | ![]() Eric Rios |
| R7 | ![]() Federico Camporesi | vs | ![]() Gilberto Goracci |
| R8 | ![]() Roberto Parente | vs | ![]() Oliver Eskolin |
| Round | Player 1 | vs | Player 2 |
|---|---|---|---|
| R10 | ![]() Giuseppe Musicco | vs | ![]() Alberto Cañuelo |
| Top 32 | ![]() Mikael Viljanen | vs | ![]() Christoph Gooss |
| Top 16 | ![]() Eric Rios | vs | ![]() Marco Silva |
| Top 8 | ![]() Michael Kelsch | vs | ![]() Adrián Isidoro |
| Top 8 | ![]() Eric Rios | vs | ![]() Federico Camporesi |
| Top 4 | ![]() Jamie Boyt | vs | ![]() Michael Kelsch |
| Top 4 | ![]() Eric Rios | vs | ![]() Matteo Ballini |
| Finals | ![]() Michael Kelsch | vs | ![]() Eric Rios |
Usage stats
Day 1


Day 2


Venue and schedule
The tournament is held at the following location:
Stockholmsmässan
Mässvägen 1
125 30 Älvsjö, Stockholm, Sweden
Check-in can be done early on Saturday 22 March.
Players must be in the venue by 22 March at 08:30 CET (07:30 UTC) for the players meeting. The tournament starts thereafter with the Day 1 Swiss rounds. Seniors and Juniors start 30 minutes later.
Players qualified to Day 2 must be in the venue by 23 March at 08:30 CET (07:30 UTC) for the team checks. The Day 2 Swiss rounds and the top cut will be played thereafter.
Prizes
This event is part of the 2025 official TPCi circuit and thus it rewards Championship Points (CPs).
Check out the organizer’s website for information about participation goodies.
Additionally, the best-placed players will receive the following CPs, prize money and Pokémon TCG booster packs depending on final attendance:
| Placement | Championship Points | Kicker |
|---|---|---|
| Champion | Invite to the 2025 World Championships 350 CP | 0 |
| Finalist | 325 CP | 4 |
| Semifinalists | 300 CP | 8 |
| 5th to 8th | 280 CP | 17 |
| 9th to 16th | 160 CP | 33 |
| 17th to 32nd | 125 CP | 65 |
| 33rd to 64th | 100 CP | 129 |
| 65th to 128th | 80 CP | 257 |
| 129th to 256th | 60 CP | 513 |
| 257th to 512th | 40 CP | 1025 |
| 513th to 1024th | 20 CP | 2049 |
| Placement | Masters | Junior & Senior |
|---|---|---|
| Champion | $6,000 USD | $1,000 USD |
| Finalist | $4,000 USD | $750 USD |
| Semifinalists | $2,000 USD | $500 USD |
| 5th to 8th | $1,000 USD | – |
| 9th to 16th | $750 USD | – |
| Players per age division | ||||||||
|---|---|---|---|---|---|---|---|---|
| Placement | <33 | 33-64 | 65-128 | 129-256 | 257-512 | 513-1024 | 1025-2048 | 2049+ |
| Champion | 108 | 108 | 108 | 108 | 108 | 108 | 108 | 108 |
| Finalist | 72 | 108 | 108 | 108 | 108 | 108 | 108 | 108 |
| Semifinalists | 36 | 72 | 72 | 108 | 108 | 108 | 108 | 108 |
| 5th to 8th | 18 | 36 | 36 | 72 | 108 | 108 | 108 | 108 |
| 9th to 16th | 9 | 18 | 36 | 36 | 72 | 72 | 72 | 108 |
| 17th to 32nd | 18 | 18 | 72 | 72 | 72 | 72 | ||
| 33rd to 64th | 9 | 36 | 36 | 36 | 36 | |||
| 65th to 128th | 18 | 18 | 36 | 36 | ||||
| 129th to 256th | 9 | 18 | 18 | |||||
| 257th to 512th | 9 | |||||||
If prize money is $5000 or more, it will be given as a choice of scholarship (in all cases) or cash (for minors, as a Pokémon Visa® Prepaid Card). For lower prizes, it will be given as cash (for minors, as a Pokémon Visa® Prepaid Card).
Overview
The Stockholm Regional Championships is an official TPCi Regional-level event for Pokémon VGC, TCG and Pokémon GO. It is the sixth Regional-level event of the 2025 season in the European circuit.
The ruleset is VGC Regulation Set G, and it is played using open team lists.
A little bit of history
Sweden has been part of the Europe region of the official TPCi circuit for many years. It has hosted several Regional Championships. Sweden’s greatest VGC success was American-Swede Nils Dunlop‘s top 4 place at the 2018 World Championships and victory at the 2024 EUIC.
The most recent tournaments held in Sweden was the 2024 Stockholm Regional, also played with the Regulation Set G in May 2024. The finals saw 2023 Worlds finalist Michael Kelsch defeat 2023 Global Challenge III Champion Joji Kaieda to win his first Regional Championship title!
Sign-up instructions
Sign-ups for the event are done through RK9 Labs platform, and you will first need to set up your RK9 profile and have a Play! Pokémon Player ID.
Sign-ups are €60 for Masters players and €40 for Senior and Junior players, and they open on 22 January at 19:00 CET (18:00 UTC).
- A new wave of sign-ups was later announced to open on 6 March at 19:00 CET (18:00 UTC).
If the player cap is not reached, sign-ups close 2 hours before the event starts.
For registered players, team lists must be submitted 1 hour before the event starts, by 22 March at 07:30 CET (06:30 UTC).
Spectator passes are €10 and can be purchased here.

Stockholm, Sweden

















