# Profile Picture Protocol

The Solana Profile Picture Protocol (SPP) allows Solana users to set a single Metaplex-standard NFT as a universal PFP for the Solana blockchain.&#x20;

{% hint style="info" %}
The SPP allows Solana users to set a single Token-standard NFT as their universal PFP in the Solana ecosystem.&#x20;
{% endhint %}

#### We created the SPP with the following objectives in mind:

1\) Enhancing the personalization and sense of identity in Solana apps\
2\) Improving user experience when sending transactions \
3\) As an additional layer of security and assurance that the correct recipient is chosen from the address book

{% hint style="info" %}
If you'd like any help with integration, please get in touch with the Solflare team via [Twitter](https://twitter.com/solflare_wallet) or our [Discord](https://discord.com/invite/solflarewallet) community.&#x20;
{% endhint %}

Individual Solana protocols can use the documentation below to show SPP PFPs in their front end and provide the functionality to allow users to set a new PFP.&#x20;

You can find the NPM package for the SPP [here](https://www.npmjs.com/package/@solflare-wallet/pfp).

### Example

```javascript
import { Connection, PublicKey } from '@solana/web3.js';
import { getProfilePicture } from '@solflare-wallet/pfp';

const connection = new Connection('https://api.mainnet-beta.solana.com');
const walletPubkey = new PublicKey('ES8rZr16f5eAc9PkUcAbafwg5JjEJANbpwu92CF2Cbox');

const { isAvailable, url } = await getProfilePicture(connection, walletPubkey);
```


---

# Agent Instructions: 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:

```
GET https://docs.solflare.com/solflare/technical/profile-picture-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
