> For the complete documentation index, see [llms.txt](https://docs.rivalryze.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rivalryze.com/connecting-gaming-platforms/playstation-network.md).

# PlayStation Network

PSN works differently from the other platforms. **RivalRyze does not connect to PSN directly.** Instead, you link your PlayStation account to your Discord account once, and RivalRyze reads it from there.

This is because Sony doesn't offer a public OAuth flow that third-party apps like RivalRyze can use. Discord does — and Discord's "Connections" feature exposes your linked PlayStation account to apps you authorize.

## Prerequisites

To connect PSN, you need:

1. A **Discord account** (free).
2. Your **Discord account linked to RivalRyze**. See [Connecting Discord](/connecting-gaming-platforms/discord.md).
3. Your **PlayStation account linked to your Discord account** (steps below).

If any of these is missing, the PSN connection won't work.

## Step 1 — Link PSN to your Discord account

This is done in Discord, not on RivalRyze.

1. Open Discord (app or [discord.com](https://discord.com)) and log in.
2. Click the **gear icon** at the bottom-left to open **User Settings**.
3. Select **Connections** from the left menu.
4. Click **+** and pick **PlayStation Network**.
5. Sign in with your PlayStation account when prompted.
6. After it links, **make sure "Display on profile" is toggled ON** for the PlayStation connection. If it's off, RivalRyze can't see the connection.

{% hint style="warning" %}
The "Display on profile" toggle is the single most common cause of "User does not have a PSN connection" errors. Discord doesn't default it to ON for all users — check it manually.
{% endhint %}

## Step 2 — Trigger the PSN link on RivalRyze

1. Open **Account Settings → Connections** on RivalRyze.
2. Find **PlayStation Network** and click **Connect via Discord**.
3. RivalRyze checks your Discord account for a PlayStation connection and reads your PSN account ID from it.
4. Your initial trophy and game sync starts immediately.

If you've just linked PSN to Discord, give Discord a minute to propagate the change before clicking **Connect via Discord** on RivalRyze.

## Step 3 — Make your PSN profile public

Even after PSN is linked through Discord, RivalRyze still reads trophy data directly from PSN's public profile. If your profile is private, no trophies sync.

You can change PSN privacy from a web browser, the PS5, or the PS4. Pick the path you find easiest.

### Web browser

1. Open [account.sony.com](https://account.sony.com) and sign in.
2. Go to **Privacy Settings → Edit Privacy Features**.
3. For each of the three sections below, set the visibility to **Everyone** (or **Anyone**):
   * **Gaming | Media** — controls trophies, game library, and gameplay activity.
   * **Friends | Connections** — controls who can see your friends and connections.
   * **Personal Info | Messaging** — controls profile metadata.

### PS5

1. Go to **Settings → Users and Accounts → Privacy**.
2. Select **View and Customize Your Privacy Settings**.
3. For each category above, set visibility to **Anyone**.

### PS4

1. Go to **Settings → Account Management → Privacy Settings**.
2. Enter your account password if prompted.
3. For each category above, set visibility to **Anyone**.

{% hint style="info" %}
"Gaming | Media → Trophies" is the most important setting — without it, your trophies will not sync no matter what else you change. The other categories help with edge cases (game library visibility, friend-of-friend lookups).
{% endhint %}

## What gets synced

* **Game library** — every PlayStation game tied to your account.
* **Trophy progress** — bronze, silver, gold, and platinum trophies per game.
* **Platinum status** — which games you've fully platinum'd.
* **Unobtainable trophies** — trophies that can't be earned anymore (e.g., from closed servers) are excluded from completion %.
* **Trophy groups** — DLC trophies are tracked separately from base game trophies.

## How often does it sync?

| Tier      | PSN sync frequency |
| --------- | ------------------ |
| Free      | Every 4 hours      |
| Supporter | Every hour         |
| Pro       | Every 30 minutes   |

You can also trigger an **on-demand sync** from your profile any time.

## What Contests can I join with PSN?

PSN supports every achievement-style Objective Mode, plus the platinum-specific ones:

**Battles** (leaderboard):

* Achievement Points
* Completion Achievement Points

**Bounties** (objective):

* Achievement Hunter
* Platinum Hunter (PSN exclusive)
* Completion Hunter

See [Objective Modes](/contests/objective-modes.md).

## Disconnecting PSN

Two layers:

* **From RivalRyze only:** Open **Account Settings → Connections** and unlink PlayStation Network. Your PSN data is removed from RivalRyze; the Discord connection stays.
* **From Discord (which cascades):** Open Discord → **User Settings → Connections** → click the **X** next to PlayStation Network. The Discord-side link goes away, and RivalRyze loses access on the next sync.

Either way, you're removed from active PSN-based Contests.

## Troubleshooting

### "User does not have a PSN connection"

Your Discord account doesn't have a PlayStation connection linked, or it's set to private.

1. In Discord: **User Settings → Connections**.
2. Verify PlayStation Network is listed.
3. Verify **"Display on profile"** is toggled **ON** for it.
4. Return to RivalRyze and click **Connect via Discord** again.

### "User does not have a discord profile"

You haven't connected Discord to RivalRyze yet. See [Connecting Discord](/connecting-gaming-platforms/discord.md) and link Discord first.

### "PSN profile already attached to a user"

The PlayStation account in your Discord is already linked to a different RivalRyze account. Sign in to that account, or contact [support](/help-and-faq/contact-support.md) if you've lost access to it.

### "This profile is private"

Your PSN trophy privacy is too restrictive. Follow Step 3 above to make Gaming | Media, Friends | Connections, and Personal Info | Messaging visible to Anyone. Then trigger an on-demand sync.

### "Discord token expired"

Your Discord session needs re-authorization. Open **Account Settings → Connections → Discord → Reconnect**, then retry the PSN link.

### A trophy I just earned isn't showing

* Trigger an on-demand sync from your profile.
* PSN sometimes delays propagating trophies server-side. If it's been over an hour and the trophy still isn't on your PSN profile either, the issue is on Sony's end — wait it out.

### An unobtainable trophy is counting against me

RivalRyze maintains a list of known unobtainable trophies and excludes them from completion %. If you find one that's still counting, contact [support](/help-and-faq/contact-support.md) with the game and trophy name.

## Why this flow?

Sony doesn't publish an OAuth API that third parties can use to authenticate PlayStation accounts. Discord — which has a much closer partnership with Sony — does. By linking PSN to Discord once and re-using that connection across apps you authorize, you avoid sharing PSN credentials with anyone but Sony and Discord.

The trade-off is that PSN is tied to Discord on RivalRyze. If you disconnect Discord, you lose PSN access too.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rivalryze.com/connecting-gaming-platforms/playstation-network.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
