[OPEN GRANT APPLICATION] GMX Python SDK

SECTION 1: APPLICANT INFORMATION

Provide personal or organisational details, including the applicant’s name, contact information, and the name of any associated organisation. This information ensures proper identification and communication throughout the grant process.

Applicant Name or Alias: [Enter full name]

Snipermonke01

Project Name: [Enter Project Name]

GMX Python SDK

Project Description: [Enter Project Description (1-3 sentences)]

The aim of this project is to create an open source SDK for GMX v2 using python, which will allow users to:

  • retrieve protocol information regarding pool amounts, open interest, volume, available markets etc
  • Increase, decrease, and manage positions
  • Manage liquidity positions and make swaps

Team Members and Qualifications: [List team members and their qualifications, roles, and responsibilities]

  • Snipermonke01 - python developer
  • Alienf33t - python developer

Contact Information:

TG: [Telegram]

Twitter: [Twitter Handle]

https://twitter.com/SniperMonke01

Email: [Email Address]

snipermonke01@proton.me

SECTION 2: GRANT INFORMATION

Detail the requested grant size, provide an overview of the budget breakdown, specify the funding and contract addresses, and describe any matching funds if relevant.

Requested Grant Size: [Enter Amount of ARB Requested]

55k ARB

Grant Matching: [Enter Amount of Matching Funds Provided - If Relevant]

n/a

Grant Breakdown: [Please provide a high-level overview and pro forma of the budget breakdown and planned use of funds]

The secured grant will be used to fund 2 part time developers for the development in the coming 2-3 months with long-term maintenance.

Funding Address: [Enter the specific address where funds will be sent for grant recipients]

0x9a6dE84bF23ed9ba92BDB8027037975ef181b1c4

Funding Address Characteristics: [Enter details on the status of the address; eligible address must be an MPC wallet or 2/3 multisig with private keys securely stored]

2 / 3 Multisig with 2 well trusted GMX community members.

Distribution Contract Address: [Enter any specific address that will be used to disburse funds for grant recipients]

n/a

Incentivised Contract Addresses: [Enter any specific contract addresses that will be incentivised in your program (Pool addresses, contracts, etc.)]

n/a

SECTION 3: GRANT OBJECTIVES AND EXECUTION

Clearly outline the primary objectives of the project and the Key Performance Indicators (KPIs) used to measure success. This helps reviewers understand what the project aims to achieve and how progress will be assessed.

Objectives: [Clearly state the primary objectives of the grant and what you intend to achieve]

To build a robust, user friendly method to allow users to interact with the GMX v2 codebase from python. The SDK will comprise of three core aspects:

  1. Information (ie pool amounts, fees per pool) [Read]
  2. Building and executing basic transactions (such as open/closing positions) [Write]
  3. Managing liquidity and open positions [Write]

Key Performance Indicators (KPIs): [Specify the KPIs, including but not limited to total value locked, transaction volume, and number of users that will be used to measure success in achieving the grant objectives]

  • Number of forks
  • Number of watchers/stars on Github
  • The amount of volume routed through UI fee (if/when implemented)

How will receiving a grant enable you to foster growth or innovation within the GMX ecosystem?: [Provide details]

Searching on the GMX discord there are over 58 results for “Python”. There is a clear need for a bridge between users who are technically able to develop using python and want to interact with the GMX ecosystem. The development of pythonic access to the GMX ecosystem without requiring the use of the front end has the potential to attract a number of new developers looking to build out a variety of products, from automated strategies to analytics dashboards, without the requirement of developing their own read/write scripts.

Justification for the size of the grant: [Enter explanation]

2 x developers for 2-3 months work.

*Execution Strategy: [**Describe the execution plan, including resources, products, use of funds, and risk management. This includes allocations for specific pools, eligible assets, products, etc.]

All of the following features will be available through a user friendly Command Line Interface (CLI) or through calling functions & methods directly:

  1. Monitoring key stats for GM pool composition, open interest, fast prices, available liquidity, funding rates, price impacts
  2. Opening & closing positions through Market or Limit orders, performing swaps, depositing or withdrawing liquidity

As this is being built it will exist as a repo, but when “version 1” is delivered a pip module will be created.

Grant Timeline & Milestones: [Describe the timeline for the grant]

Fund Streaming: [Do you accept the funding of your grant streamed linearly for the duration of your grant proposal, and that the multisig holds the power to halt your streamed grant at their discretion at any time?]

Yes

SECTION 4: PROTOCOL DETAILS

Provide details about the protocol requirements relevant to the grant. This information ensures that the applicant is aligned with the technical specifications and commitments of the grant.

What date did you build on GMX?: [Date of deployment]

Sept 2023

Protocol Performance: [Detail the past performance of the protocol and relevance, including any key metrics or achievements, dashboards, etc.]

n/a

Protocol Roadmap: [Describe relevant roadmap details for your protocol or relevant products to your grant application.]

The plan is to first deploy a [Read] aspect of the SDK in the coming weeks which will allow users to interact with mainly the dataStore contract to retrieve key stats on GMX v2, but will also include interaction with the GMX v2 subgraphs, and ability to create static plots of said data. This will be followed by the [Write] aspect which allows users to build and execute transactions accompanied by a CLI, as well as a detailed overview on how to utilise the SDK if they chose not to use the CLI.

Audit History (if any): [Provide historic audits and audit results]

n/a

SECTION 5: Data and Reporting

Provide details on how your team is equipped to provide data and reporting on the grant distribution.

Is your team prepared to create Dune Spells and/or Dashboards for your incentive program?: [Please describe your answer]

Possible to track volume through referral or ui fee code

Does your team agree to provide bi-weekly program updates on the GMX Forum thread?: [Please describe your strategy and capabilities for data/reporting]

Yes, allowing grant committee members access to the private github repo for proof of timely work.

Does your team acknowledge that failure to comply with any of the above requests can result in the halting of the program’s funding stream?: [Y/N]

Y

4 Likes

Hey @Snipermonke01, thanks again for applying for the GMX grants.

2 Likes

Thank you! Grateful for opportunities that GMX provides.

Open to any and all questions folks may have

2 Likes

Happy to see this suggestion, I think the proposal makes significant sense in terms of value-add.

2 Likes

edited to include revised milestones.

nb funds will not be used in development cost or salary, and will be used towards the updated milestones

2 Likes

d2.finance is welcome this as see as needed! Think Read and Write is fair.

Can expand on the “Audit and review” section?

1 Like

Thanks for the question.

The “Audit and Review” milestone will encompass a couple of things, including but not limited to:

  • implementation of appropriate unit tests throughout
    ⁃ reviewing entire code base so users are managing their funds in a safe manner (particularly where approvals & spending of funds are concerned and use of private key is required)
    ⁃ providing extensive documentation on how to effectively and safely utilise the SDK

If you have any other questions please feel free to pop them here or dm and we can chat further!

2 Likes

We are delighted to share with you that the grants committee has accepted your application. A Python SDK would be a clear value-add for developers. It will help solidify the foundation of GMX v2 and allow more protocols to build on top of it.

3 Likes

thanks for addressing the question!

Glad you got it! Looking forward to try it out when ready

2 Likes