# X Layer API Quickstart

> How to get started building on X Layer and using the JSON-RPC API

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

*To use the X Layer API, you need an Alchemy account. [Create a free account](https://dashboard.alchemy.com/signup) to get started.*

## What is X Layer?

X Layer is a zero-knowledge (ZK) Layer 2 network built by OKX using Polygon CDK, offering full EVM compatibility so existing Ethereum smart contracts, tools, and wallets work with zero code changes. It leverages zkSNARK proofs to compress transactions, resulting in sub-cent fees and block times of approximately 400 milliseconds.

## What is the X Layer API?

The X Layer API lets you interact with the X Layer network through a set of JSON-RPC methods. If you've worked with Ethereum's JSON-RPC APIs, the interface will be familiar.

## Get started

### 1. Choose a package manager (npm or yarn)

Pick a package manager for your project's dependencies.

<CodeGroup>
  ```shell npm
  # Begin with npm by following the npm documentation
  # https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
  ```

  ```shell yarn
  # For yarn, refer to yarn's installation guide
  # https://classic.yarnpkg.com/lang/en/docs/install
  ```
</CodeGroup>

### 2. Set up your project

Run the following commands to create and initialize your project:

<CodeGroup>
  ```shell npm
  mkdir x-layer-api-quickstart
  cd x-layer-api-quickstart
  npm init --yes
  ```

  ```shell yarn
  mkdir x-layer-api-quickstart
  cd x-layer-api-quickstart
  yarn init --yes
  ```
</CodeGroup>

This creates a new directory named `x-layer-api-quickstart` and initializes a Node.js project within it.

### 3. Make your first request

Install Axios to make API requests:

<CodeGroup>
  ```shell npm
  npm install axios
  ```

  ```shell yarn
  yarn add axios
  ```
</CodeGroup>

Create an `index.js` file in your project directory and paste the following code:

<CodeGroup>
  ```javascript index.js
  const axios = require('axios');

  const url = 'https://xlayer-mainnet.g.alchemy.com/v2/${your-api-key}';

  const payload = {
    jsonrpc: '2.0',
    id: 1,
    method: 'eth_blockNumber',
    params: []
  };

  axios.post(url, payload)
    .then(response => {
      console.log('Latest Block:', response.data.result);
    })
    .catch(error => {
      console.error(error);
    });
  ```
</CodeGroup>

Replace `your-api-key` with your actual Alchemy API key from the [Alchemy Dashboard](https://dashboard.alchemy.com/signup).

### 4. Run your script

Run your script to make a request to the X Layer network:

<CodeGroup>
  ```shell shell
  node index.js
  ```
</CodeGroup>

You should see the latest block number from X Layer in your console:

<CodeGroup>
  ```shell shell
  Latest Block: 0x...
  ```
</CodeGroup>

## Next steps

You've made your first request to the X Layer network. Explore the JSON-RPC methods available on X Layer and start building your dApps.