Skip to main content

Choosing the Right Atlas SDK

Selecting the appropriate Atlas SDK is crucial for effectively integrating with the Atlas protocol. This guide helps you determine whether the TypeScript SDK or the Golang SDK best fits your project's needs based on your application's architecture and requirements.

Decision Flowchart

Below is a streamlined flowchart to help you decide which SDK to use based on your project's requirements.

Flowchart Explanation

  1. Do you need a frontend?
    • Yes: Proceed to determine if you already have a backend.
    • No: Opt for the Golang SDK.
  2. Using TypeScript SDK
    • Do you have a backend?
      • Yes: Use the TypeScript SDK alongside your existing backend.
      • No: Set up a backend that abstracts the auction process and operations relay to work with the TypeScript SDK.
    • Integrate TypeScript SDK with your backend: Ensure seamless communication between the frontend and backend using the TypeScript SDK.
  3. Using Golang SDK
    • Build backend services directly: Utilize the Golang SDK to create backend functionalities such as liquidation systems or oracle extractable value.
    • Do you need to add a frontend later?
      • Yes: Connect a frontend using the TypeScript SDK to interface with the Golang-powered backend.
      • No: Continue developing and maintaining your backend exclusively with the Golang SDK.

When to Use Each SDK

TypeScript SDK

  • Best Suited For: Frontend applications (e.g., web dApps).
  • Requirements:
    • Frontend Integration: Ideal for projects with a user-facing interface.
    • Backend Necessity: Requires a backend to handle complex processes like auction management and operations relay.
  • Use Cases:
    • Decentralized Exchanges (DEXs): Building interactive trading interfaces for cryptocurrency exchanges.
    • Bridges: Creating cross-chain bridges to facilitate asset transfers between different blockchains utilizing dex aggregators.

Golang SDK

  • Best Suited For: Backend services without a frontend (e.g., liquidation systems, oracle extractable value).
  • Features:
    • Direct Backend Development: Designed to build robust server-side applications.
    • High Performance: Leverages Golang's concurrency and efficiency for backend tasks.
  • Use Cases:
    • Liquidation Systems: Auctioning off liquidated and internalizing mev.
    • Oracles (OEV): Extracting value from oracles price feeds updates (liquidations).

Integration Between SDKs

For projects that require both frontend and backend components, leveraging both SDKs can provide a comprehensive solution:

  1. Frontend: Use the TypeScript SDK to build user interfaces and manage client-side interactions.
  2. Backend: Use the Golang SDK to handle server-side logic, auctions, and operation relays.
  3. Communication: The frontend communicates with the backend through APIs or other communication protocols, utilizing the TypeScript SDK to interact with the Golang-powered backend.

This separation of concerns ensures scalability, maintainability, and optimized performance for complex applications.

Summary

  • Choose the TypeScript SDK if:
    • You're building a frontend applications like a dex
    • You can set up or already have a backend to add auction processes and operations relay.
  • Choose the Golang SDK if:
    • You're focusing on backend services without a direct frontend.
    • You plan to build specialized backend functionalities for liquidations or oracles (OEV).

By understanding the strengths and intended use cases of each SDK, you can make informed decisions that align with your project's architecture and goals.

For more detailed information about specific functions and their parameters, refer to the API Reference.