> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stardust.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# Identifiers

### What is a Profile Identifier?

A Profile Identifier allows game developers to store information about their players directly on their profile. This can be a social account, or an external wallet address from any chain, EVM, Solana, Sui, and supporting both Aptos and BTC in the coming weeks.

Stardust Profiles can support an extensive array of identifier types, including Social and Custom Identifiers as well as External Wallet connections.

## How to add an identifier

### External wallets

Adding an external wallet is an extremely valauble piece of infromation every game developer should collect. By connecting an external wallet to a Stardust Profile, a game developer can gain insights on the value of players in their game; and how to increase their engagement.

#### EVM

```TypeScript profileIdentifier.ts theme={null}
import { StardustCustodialSDK } from '@stardust-gg/stardust-custodial-sdk';

const STARDUST_API_KEY = 'your-api-key';
const sdk = new StardustCustodialSDK(apiKey);
const profile = await sdk.getProfile(profileId); 
const playerAddressEVM = '0x3B333e68ac5bdaB09cf1a402e07BBa3041AAf11D';
await profile.addEVMExternalWalletIdentifier(playerAddressEVM);
```

#### Solana

```ts theme={null}
await profile.addSOLExternalWalletIdentifier(playerAddressSOL);
```

#### SUI

```ts theme={null}
await profile.addSUIExternalWalletIdentifier(playerAddressSui);
```

### Attaching Social Identifiers

Easily attach identifiers from popular socials to enhance user profile information.

#### Discord

```ts theme={null}
const stardustIdentifier = await profile.addDiscordIdentifier(discordId);
```

#### Apple

```ts theme={null}
const stardustIdentifier = await profile.addAppleIdentifier(appleId);
```

#### Google

```ts theme={null}
const stardustIdentifier = await profile.addGoogleIdentifier(googleId);
```

#### Facebook

```ts theme={null}
const stardustIdentifier = await profile.addFacebookIdentifier(facebookId);
```

#### Twitter

```ts theme={null}
const stardustIdentifier = await profile.addTwitterIdentifier(twitterId);
```

#### Email

```ts theme={null}
const stardustIdentifier = await profile.addEmailIdentifier(email);
```

#### Phone

```ts theme={null}
const stardustIdentifier = await profile.addPhoneIdentifier(phoneNumber);
```

#### Twitch

```ts theme={null}
const stardustIdentifier = await profile.addTwitchIdentifier(twitchId);
```

#### Steam

```ts theme={null}
const stardustIdentifier = await profile.addSteamIdentifier(steamId);
```

#### Epic

```ts theme={null}
const stardustIdentifier = await profile.addEpicIdentifier(epicId);
```

### Adding custom identifers to a profile

Custom identifiers offer the flexibility to incorporate unique identifiers, tagged with a 'service' name, enhancing profile customization and integration capabilities.

```TypeScript profileIdentifier.ts theme={null}
import { StardustCustodialSDK } from '@stardust-gg/stardust-custodial-sdk';

const STARDUST_API_KEY = 'your-api-key';
const sdk = new StardustCustodialSDK(apiKey);
const profile = await sdk.getProfile(profileId); 
const customServiceName = '<CUSTOM_SERVICE_NAME>';
const customId = '<PLACEHOLDER>';
await profile.addCustomIdentifier(customServiceName, customId);
```
