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

# SDKs

> Explore the official Prism API SDKs.

<View title="Go" icon="golang">
  <Card title="Go" icon="github" href="https://github.com/prism-api/sdk-go" arrow={true}>
    Official Prism API Go SDK.
  </Card>

  ## Installation

  ```shell icon="terminal" theme={null}
  go get github.com/prism-api/sdk-go@latest
  ```

  ## Get Started

  ```go icon="golang" theme={null}
  package example

  import (
      context "context"

      prism "github.com/prism-api/sdk-go"
      api "github.com/prism-api/sdk-go/api"
      solana "github.com/prism-api/sdk-go/api/solana"
      client "github.com/prism-api/sdk-go/client"
      option "github.com/prism-api/sdk-go/option"
  )

  func do() {
      client := client.NewClient(
          option.WithAPIKey(
              "<value>",
          ),
      )
      request := &solana.GetWalletProfileDexRequest{
          Wallet: "suqh5sHtr8HyJ7q8scBimULPkPpA557prMG47xCHQfK",
          Options: &api.SolanaDexWalletProfilePayloadOptions{
              IncludeMetadata: prism.Bool(
                  true,
              ),
              IncludeLabels: prism.Bool(
                  true,
              ),
              IncludeMetrics: []api.SolanaDexWalletProfileTimeWindowEnum{
                  api.SolanaDexWalletProfileTimeWindowEnumWindow7D,
              },
          },
      }
      client.API.Solana.Dex.GetWalletProfile(
          context.TODO(),
          request,
      )
  }
  ```
</View>

<View title="Python" icon="python">
  <Card title="Python" icon="github" href="https://github.com/prism-api/sdk-py" arrow={true}>
    Official Prism API Python SDK.
  </Card>

  ## Installation

  ```shell icon="terminal" theme={null}
  pip install prism-py-sdk
  ```

  ## Get Started

  ```python icon="python" theme={null}
  from prism import Client
  from prism.api import SolanaDexWalletProfilePayloadOptions

  client = Client(
      api_key="<value>",
  )

  client.api.solana.dex.get_wallet_profile(
      wallet="suqh5sHtr8HyJ7q8scBimULPkPpA557prMG47xCHQfK",
      options=SolanaDexWalletProfilePayloadOptions(
          include_metadata=True,
          include_labels=True,
          include_metrics=[
              "7d"
          ],
      ),
  )
  ```
</View>

<View title="TypeScript" icon="js">
  <Card title="TypeScript" icon="github" href="https://github.com/prism-api/sdk-ts" arrow={true}>
    Official Prism API TypeScript SDK.
  </Card>

  ## Installation

  ```shell icon="terminal" theme={null}
  npm install prism-ts-sdk
  ```

  ## Quick Start

  ```ts icon="js" theme={null}
  import { PrismClient } from "prism-ts-sdk";

  const client = new PrismClient({ apiKey: "YOUR_API_KEY" });
  await client.api.solana.dex.getWalletProfile({
      wallet_address: "suqh5sHtr8HyJ7q8scBimULPkPpA557prMG47xCHQfK",
      options: {
          include_metadata: true,
          include_labels: true,
          include_metrics: ["7d"],
      },
  });
  ```
</View>

<View title="Rust" icon="rust">
  <Card title="Rust" icon="github" href="https://github.com/prism-api/sdk-rs" arrow={true}>
    Official Prism API Rust SDK.
  </Card>

  ## Installation

  ```shell icon="terminal" theme={null}
  cargo add prism-rs-sdk
  ```

  ## Get Started

  ```rust icon="rust" theme={null}
  use prism::prelude::*;

  #[tokio::main]
  async fn main() {
      let config = ClientConfig {
          api_key: Some("<value>".to_string()),
          ..Default::default()
      };
      let client = Client::new(config).expect("Failed to build client");
      client
          .api
          .solana
          .dex
          .get_wallet_profile(
              &GetWalletProfileDexRequest {
                  wallet_address: "suqh5sHtr8HyJ7q8scBimULPkPpA557prMG47xCHQfK".to_string(),
                  options: Some(SolanaDexWalletProfilePayloadOptions {
                      include_metadata: Some(true),
                      include_labels: Some(true),
                      include_metrics: Some(vec![SolanaDexWalletProfileTimeWindowEnum::Window7D]),
                      ..Default::default()
                  }),
              },
              None,
          )
          .await;
  }
  ```
</View>
