Home docs NPLN Overview
Post

NPLN Overview

NPLN provides modern game services through gRPC. The decompiled protobuf files can be found here. See also NPLN Resources

The NPLN server is at https://<tenant id>.lp1.t.npln.srv.nintendo.net. The tenant id is always t-<server id>-lp1.

Metadata

The following metadata fields may be included in requests:

FieldDescription
authorizationbearer <access token>
npln-tenant-idTenant id (like t-e1c218b5-lp1)
uidUser id (like u-qtb6z4jkvrndteijghom)

The npln-tenant-id field is always required. The authorization and uid fields are only required if the request requires authorization.

If the metadata is invalid, the server returns status code 12 (Unimplemented) on production servers, or 14 (Unavailable) on development servers.

The official library sets the user agent to grpc-c++/1.31.1 grpc-c/11.0.0 (nintendo; chttp2).

List of services

Services are never modified in a backward incompatible way, but new methods and services may be added in the future.

Splatoon 3 also implements some custom services:

  • nn.npln.toyohr.v1.Canola
  • nn.npln.toyohr.v1.CloudSave
  • nn.npln.toyohr.v1.CoopScenario
  • nn.npln.toyohr.v1.FestService
  • nn.npln.toyohr.v1.GameRecord
  • nn.npln.toyohr.v1.LobbyMessaging
  • nn.npln.toyohr.v1.Locker
  • nn.npln.toyohr.v1.Replay
  • nn.npln.toyohr.v1.Schedule
  • nn.npln.toyohr.v1.UserScreening

Pokemon Scarlet and Violet implement custom services as well:

  • nn.npln.timber.v1.CompetitionService
  • nn.npln.timber.v1.TradeBoxService

List of games

GameTenant ID
Monster Hunter Risee1c218b5
Monster Hunter Rise Demof124d2cb
Monster Hunter Rise: Sunbreak Demobc33b7d4
Pokemon Legends: Arceuse047112f
Pokemon Scarlet & Violet50e39f8f
Splatoon 3dce9377b
Splatoon 3: Splatfest World Premiere156eef4e
Super Mario Bros. Wonderba973ec6

Useful Tools

  • grpcui - a simple user interface for gRPC
  • grpc-dump - a proxy that dumps gRPC messages (for mitm)
Contents