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

# Deploy an Indexer (Subgraph) on Bahamut with The Graph

> Learn how to deploy a subgraph on Bahamut using The Graph for efficient blockchain data indexing and querying.

Deploying a subgraph on Bahamut using Mobula’s infrastructure is a straightforward process. This guide will walk you through the steps to get your subgraph up and running on the Bahamut network.

### What you’ll need

* Basic knowledge of The Graph and subgraphs.
* Your subgraph project files.
* The Graph CLI installed.
* A Mobula API key (for authentication).

### Walkthrough

<Steps>
  <Step title="Prepare Your Subgraph">
    Ensure your subgraph is configured for Bahamut. Update your `subgraph.yaml` file to reference Bahamut-specific contracts and events. If you don’t have any subgraph, you can clone the Uniswap V2 (SilkSwap) subgraph template and modify it for Bahamut:

    ```bash theme={null}
    git clone https://github.com/MobulaFi/univ2-subgraph-bahamut
    ```
  </Step>

  <Step title="Install Dependencies">
    Make sure you have The Graph CLI installed:

    ```bash theme={null}
    npm install -g @graphprotocol/graph-cli
    ```
  </Step>

  <Step title="Install Mobula CLI">
    Install our CLI tool using npm:

    ```bash theme={null}
    npm i mobula-cli
    ```
  </Step>

  <Step title="Setup API Key">
    Configure your API key with the CLI. You can get your API key from the [Dashboard](https://admin.mobula.io).
    Please refer to the [authentication section](/indexing-stream/authentification) for detailed steps on obtaining your API key.

    ```bash theme={null}
    mob apikey set
    ```
  </Step>

  <Step title="Build Your Subgraph">
    Compile your subgraph before deployment:

    ```bash theme={null}
    graph codegen && graph build
    ```
  </Step>

  <Step title="Deploy your subgraph">
    Deploy your subgraph using the Mobula CLI:

    ```bash theme={null}
    mob deploy -n subgraphName
    ```
  </Step>

  <Step title="Monitor Deployment">
    After deployment, you'll receive a URL to monitor your subgraph's indexing progress and status.
  </Step>
</Steps>

### Best Practices

* Regularly update your subgraph to ensure compatibility with the latest Bahamut network changes.
* Test your subgraph thoroughly on a testnet before deploying to mainnet.
* Monitor your subgraph’s performance and optimize queries for efficiency.

### Troubleshooting

If you encounter issues during deployment:

* Review your `subgraph.yaml` configuration.
* Ensure you’re using the correct network name and Mobula node URLs.
* Verify your API key is valid and has the necessary permissions.

Need Assistance? Our support team is ready to help you with any questions or deployment challenges.

<CardGroup>
  <Card title="Support" icon="Telegram" href="https://t.me/mobuladevelopers">Telegram</Card>
  <Card title="Support" icon="Slack" href="https://join.slack.com/t/mobulaapi/shared_invite/zt-29zrrpjnl-I0tyD73sy7zKy8q~KLL3Ug">Slack</Card>
  <Card title="Support" icon="Discord" href="https://discord.gg/JVT7xKm3AD">Discord</Card>
  <Card title="Email Support" icon="envelope" href="mailto:contact@mobulalabs.org">Email</Card>
</CardGroup>
