Skip to content

Infinitare/asuga-open-source

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Asuga

Fastest Solana Sniper Bot that can be managed via Phone, Desktop, or Tablet!

Instructions

This is a project I worked on from Q4/2024 to Q2/2025. Due to focus on other projects, I had to put this on hold and decided to open-source it.
There is a GitBook available for user instructions: https://asuga.gitbook.io/labs/

Unique Selling Points of Asuga

In general, the goal was to create a sniper bot for all activities on Solana Memecoins.

  • Online Dashboard: This enables users to manage everything from any browser on any device (phone, desktop, tablet).
  • Instance-Based: Users must run an instance that performs all sniping activities on a device, preferably on a server with the lowest possible latency to the RPC being used.

With this, it is relatively easy to hit transactions within 0 blocks after the trigger.
The transaction is sent 0–2 ms after the trigger.

Technologies

  • Frontend: Next.js, shadcn/ui, TailwindCSS (after Copped AIO I changed my mind regarding frameworks ;))
  • Backend: Golang (based off API template & Types template)
  • Database: PostgreSQL
  • Instance: Rust (I still love it)

Structure

The API acts as a bridge between the Dashboard and the Instances. Traffic between Dashboard and API is redirected using WebSocket connections.

If I’d build it again, I’d probably switch to gRPC for this.

  • asuga-api: As already mentioned, Dashboard and Instance connect to the API.
    • Since the connection sends highly sensitive data like private keys, I tried to log as little as possible.
    • The database is only used to store checkout stats (there was a Discord bot planned to show these stats there as well).
    • Datadog is used for logging events like checkouts.
  • asuga-dashboard: Platform to manage all of your tasks and display statistics.
    • I built a gRPC-like client to request data from the Instance using WebSockets asuga-dashboard/components/provider/websocket-provider.tsx. It works in both directions.
    • For further explanation, please refer to the GitBook.
  • asuga-instance-old: The instance that performs all sniping activities and data storage.
    • Using the gRPC-like client asuga-sniper-open-source/asuga-instance/src/api.rs, it communicates with the Dashboard.
    • It supports PumpFun, PumpSwap, Meteora DLMM, Moonshot, Raydium AMM, and Raydium LaunchLab.
    • DEXs are supporting CopyTrading, AFK Sniper, Migration Sniper, Discord Sniper and Telegram Sniper.
  • asuga-instance-rework: Since I was relatively new to Solana Memecoins when I started this project, I recoded everything to make it more scalable.
    • It is only like 99% finished, you can look up the TODOs in the code.
    • Please keep in mind, this version is nearly completely untested.
    • Overall, it should be more modular and easier to add new DEXs or features while improving performance even further.

This should give you a good overview of the project.
Big shoutout to the shadcn/ui maintainer, I really love it!

Frontend Screenshots

Statistics
Tasks
Wallets
RPCs
Proxies

Final Notes for Future Development

  • Each folder is a separate GitHub repository.
  • There is an example .env file in asuga-api.
  • The module github.com/Infinitare/asuga-types is a package you can find in the asuga-types folder.
    • You need to replace this with your actual pushed repository path.
  • Some DEXs might not be updated to the latest version.
  • There are GitHub Workflows used to run on self-hosted runners to push everything to production.
    • You need to add the required secrets to your repository.
  • Global search for API-KEY and set a global API key if you want to use Astralane.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published