# SDKs

{% hint style="info" %}

## This is SDKs for Odyssey(Story Final Testnet)

{% endhint %}

## Installation

The PiperX SDK is a powerful toolkit for integrating the best liquidity layer on Story Network into your applications. To start using the PiperX SDK, you can easily download the npm package by running the command

`npm i @piperx/sdk`&#x20;

## Deployed Contract Address&#x20;

Please find the deployed contract address below, note that they are subjected to change in the new testnet waves

<table><thead><tr><th width="224">Contract</th><th>Address</th></tr></thead><tbody><tr><td>PiperX V2 Factory</td><td>0x700722D24f9256Be288f56449E8AB1D27C4a70ca</td></tr><tr><td>PiperX V2 Router</td><td>0x8812d810EA7CC4e1c3FB45cef19D6a7ECBf2D85D</td></tr><tr><td>Wrapper IP token</td><td>0xe8CabF9d1FFB6CE23cF0a86641849543ec7BD7d5</td></tr><tr><td>PiperX V3 Factory</td><td>0xf3d448d7A83F749695c49d8411247fC3868fB633</td></tr><tr><td>PiperX V3 Swap Router</td><td>0xbBb8B63596d5447a12Ddee557ac9fA326f42B57D</td></tr><tr><td>PiperX V3 Position Manager</td><td>0xf03c65d9be145746f800E2781eD140F6dd238F38</td></tr></tbody></table>

## Wallet Integration

In all the following SDK examples, it require user to use a wallet provider library to interact with blockchain. We use ethers library as example, but you could get signer from other wallet providers.

```javascript
import { ethers } from 'ethers'
export const signer = new ethers.Wallet(privateKey, provider)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.piperx.xyz/developer/sdks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
