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

# Starboard API Reference

> Track Twitter influence rankings and social metrics

## Overview

The Starboard API provides access to Twitter influence rankings, social metrics, and engagement analytics.

## Core Queries

### Get Starboard Information

```graphql theme={null}
query GetStarboard($id: ID!) {
  starboard(id: $id) {
    basicInfo {
      id
      name
      projectName
      description
      tags
      type
      reward {
        name
        description
        startTime
        endTime
      }
    }
  }
}
```

### Get Starboard Leaderboard

```graphql theme={null}
query GetStarboardLeaderboard($id: ID!, $first: Int!, $after: String) {
  starboard(id: $id) {
    leaderboard(
      pagination: { 
        forward: { 
          first: $first
          after: $after 
        } 
      }
    ) {
      pageInfo {
        hasNextPage
        endCursor
      }
      edges {
        node {
          xUserProfile {
            username
            followersCount
            verifiedType
          }
          rank {
            value
            delta
            deltaRate
          }
          influenceScore {
            value
            delta
            deltaRate
          }
          change24H { value deltaRate }
          change7D { value deltaRate }
          change30D { value deltaRate }
        }
      }
    }
  }
}
```

### Search Specific User

```graphql theme={null}
query SearchUser($id: ID!, $twitterId: String!) {
  starboard(id: $id) {
    leaderboard(
      twitterId: $twitterId
      pagination: { forward: { first: 1 } }
    ) {
      edges {
        node {
          rank { value }
          influenceScore { value deltaRate }
          xUserProfile {
            username
            followersCount
            verifiedType
          }
        }
      }
    }
  }
}
```

**Variables**:

```json theme={null}
{
  "id": "1",
  "twitterId": "elonmusk"
}
```

### Get Twitter Handle by EVM Address

```graphql theme={null}
query GetTwitterHandleByEvmAddress($id: ID!, $evmAddress: String!) {
  starboard(id: $id) {
    twitterHandleByEvmAddress(evmAddress: $evmAddress) {
      evmAddress
      mainAddress
      twitterHandle
      isPublic
    }
  }
}
```

**Variables**:

```json theme={null}
{
  "id": "1",
  "evmAddress": "0x1234567890abcdef1234567890abcdef12345678"
}
```

### Get User Detail

```graphql theme={null}
query GetUserDetail($id: ID!, $evmAddress: String!) {
  starboard(id: $id) {
    userDetail(evmAddress: $evmAddress) {
      starboardId
      twitterHandle
      individual
      aura
      isPublic
    }
  }
}
```

**Variables**:

```json theme={null}
{
  "id": "1",
  "evmAddress": "0x1234567890abcdef1234567890abcdef12345678"
}
```

## Field Reference

### Starboard Types

| Type      | Description                |
| --------- | -------------------------- |
| `TWITTER` | Twitter influence tracking |
| `ONCHAIN` | On-chain activity tracking |

### Verification Types

| Type         | Description                     |
| ------------ | ------------------------------- |
| `blue`       | Twitter Blue verification       |
| `business`   | Business account verification   |
| `government` | Government account verification |
| `none`       | No verification                 |

### StarboardMetricValue Structure

All metrics include comprehensive tracking data:

| Field        | Type      | Description                          |
| ------------ | --------- | ------------------------------------ |
| `value`      | `String!` | Current metric value                 |
| `delta`      | `Int!`    | Absolute change from previous period |
| `deltaRate`  | `Float!`  | Percentage change rate               |
| `percentage` | `Float!`  | Relative percentage score            |

### Key Fields

| Field                       | Type                        | Description                           |
| --------------------------- | --------------------------- | ------------------------------------- |
| `basicInfo`                 | `StarboardBasicInfo!`       | Starboard metadata                    |
| `leaderboard`               | `StarboardLeaderboard`      | Rankings and metrics                  |
| `xUserProfile`              | `XUserProfile`              | Twitter user information              |
| `rank`                      | `StarboardMetricValue`      | User's ranking position               |
| `influenceScore`            | `StarboardMetricValue`      | User's influence score                |
| `twitterHandleByEvmAddress` | `TwitterHandleByEvmAddress` | Twitter handle lookup by EVM address  |
| `userDetail`                | `StarboardUserDetail`       | Detailed user metrics for EVM address |

### TwitterHandleByEvmAddress Type

| Field           | Type       | Description                      |
| --------------- | ---------- | -------------------------------- |
| `evmAddress`    | `String!`  | The queried EVM address          |
| `mainAddress`   | `String!`  | The main associated address      |
| `twitterHandle` | `String!`  | Twitter username for the address |
| `isPublic`      | `Boolean!` | Whether the profile is public    |

### StarboardUserDetail Type

| Field           | Type       | Description                   |
| --------------- | ---------- | ----------------------------- |
| `starboardId`   | `String!`  | The starboard identifier      |
| `twitterHandle` | `String!`  | Twitter username              |
| `individual`    | `Int!`     | Individual score metric       |
| `aura`          | `Int!`     | Aura score metric             |
| `isPublic`      | `Boolean!` | Whether the profile is public |

## Integration Patterns

### Basic Leaderboard Query

```bash theme={null}
curl -X POST https://graphigo-business.prd.galaxy.eco/query \
  -H "Content-Type: application/json" \
  -H "access-token: YOUR_ACCESS_TOKEN" \
  -d '{
    "query": "query GetStarboard($id: ID!) { starboard(id: $id) { basicInfo { name type } leaderboard(pagination: { forward: { first: 10 } }) { edges { node { rank { value } xUserProfile { username followersCount } } } } } }",
    "variables": { "id": "1" }
  }'
```

### Pagination Pattern

Starboards use nested pagination structure:

```json theme={null}
{
  "pagination": {
    "forward": {
      "first": 20,
      "after": "cursor_value"
    }
  }
}
```

### User Search

To find a specific Twitter user, use the `twitterId` parameter with their Twitter username.

### Trend Analysis

Use the change metrics to analyze user performance:

* `change24H` - 24-hour trends
* `change7D` - 7-day trends
* `change30D` - 30-day trends

Each includes `value` (current metric) and `deltaRate` (percentage change).

## Best Practices

1. **Rate Limiting**: Limit monitoring requests to once every 5 minutes
2. **Pagination**: Use forward pagination for efficient data retrieval
3. **Caching**: Cache influence data for 60-300 seconds
4. **Error Handling**: Handle cases where users are not tracked
5. **Trend Monitoring**: Set alerts for significant score changes (±10%)
6. **User Verification**: Check `verifiedType` for account authenticity

## Common Errors

| Error                    | Cause                      | Solution                             |
| ------------------------ | -------------------------- | ------------------------------------ |
| `Starboard not found`    | Invalid starboard ID       | Verify starboard ID exists           |
| `Twitter user not found` | User not tracked           | Check if user is in starboard        |
| `Invalid pagination`     | Malformed pagination input | Use proper PaginationInput structure |
| `Rate limit exceeded`    | Too many requests          | Implement retry logic                |

## Next Steps

* **[Starboard Integration Guide](/galxe-integration/guides/starboards)** - Complete implementation patterns
* **[Authentication](/galxe-integration/getting-started/authentication)** - Access token setup
* **[Common Patterns](/galxe-integration/getting-started/common-patterns)** - Reusable patterns
