Skip to main content
Ghost credentials allow you to create identity records and assign points to users before they’ve connected to your realm. This is powerful for pre-seeding rewards, running off-platform campaigns, or migrating users from external systems.

Overview

A ghost credential is a non-verified identity record (Twitter ID, wallet address, email, etc.) that can accumulate point balances independently. When the user eventually connects that identity to your realm, the ghost credential is linked to their account and all accumulated balances are transferred.
Ghost credentials are realm-specific. The same Twitter ID can exist as separate ghost credentials in different realms, each with their own point balances.

Use Cases

Pre-Credit Campaigns

Award points to Twitter followers or wallet holders before they join your community

Off-Platform Activity

Track and reward activity that happens outside your realm (external events, partnerships)

User Migration

Import users from external systems with their pre-existing point balances

Email Onboarding

Assign welcome bonuses to email addresses before users complete signup

Credential Types

Ghost credentials support multiple identity formats:

Creating Credentials

Social Credentials

Create credentials for social platform identities like Twitter or Discord:

Wallet Credentials

Create credentials for blockchain wallet addresses:

Finding Credentials

Look up existing ghost credentials by their identifier:

Managing Balances

Update Balance

Award or deduct points from a ghost credential:
If realmPointId is not specified, the realm’s default currency is used.

Batch Updates

Update multiple credentials in a single request:

Transfer Points

Transfer points between two credentials:

Linking to Accounts

When a user connects their identity to your realm, you can link the ghost credential to their account. This transfers all accumulated balances to their account.
Linking is a one-way operation. Once linked, ghost balances are transferred to the account and the credential cannot be unlinked. The credential will still exist but future balance updates will go directly to the account.

What Happens When Linking

  1. Ghost credential is found by identifier
  2. All GhostCredentialPointBalance records are transferred to AccountPointBalance
  3. Ghost balance records are deleted
  4. Credential gets accountId set
  5. If the account has a verified credential with the same identity, the ghost credential can auto-upgrade to verified

Metadata

Store custom data on credentials for your application’s needs:
Metadata is returned when finding credentials and can be used to track campaign attribution, user segments, or any custom data your application needs.

Deleting Credentials

Remove ghost credentials that are no longer needed:
You cannot delete credentials that have non-zero point balances. Zero out the balance first or link the credential to transfer the balance.

Custom Credential Types

For identifiers that don’t fit the standard types, use the custom type with a source parameter:

Best Practices

Batch Operations

Use batch endpoints when updating multiple credentials to reduce API calls and improve performance

Idempotent Creates

Creating a credential that already exists returns a 409 Conflict - check first or handle the error

Track Attribution

Use metadata to track where credentials came from (campaigns, partners, events)

Clean Up

Periodically review and delete unused credentials with zero balances

Error Handling

Common errors and how to handle them:

Next Steps

Member Management

Learn how to manage verified realm members

Point Systems

Design effective point economies

API Reference

Explore the complete API documentation