LogoLogo
back to urani.trade
  • Welcome
  • URANI App
    • The Urani App
    • MEV Projects
  • URANI SWAP
    • Swap tl; dr
    • Technicals
      • MEV tl; dr
      • Urani's Intents
      • Intent Transaction Flow
      • Batch Auctions
      • Urani's Intent Specs
      • Order Types
  • URANI PROTOCOL
    • Protocol tl; dr
    • Technicals
      • Optimization Problems
      • Raking the Agents' Solution
      • Batch Auction Specs
      • Ring (DAG) Trades
      • Order Execution
      • Multidimensional Price Free Market
        • On Solana
          • Solana Fees Overview
          • Solana Transactions Overview
          • Understanding Slippage
        • Urani's Dynamic Fees
      • Oracle Market Data Proxy
      • Security Considerations
      • Intent Gossip Layer Specs
      • Settlement Specs
  • URANI ARENA
    • Arena tl; dr
    • Technicals
      • The PvP Competition
      • Incentives for Operators
      • Reputation Dashboard
      • The Competition Seasons
  • MEV AGENTS
    • Agents tl; dr
    • Technicals
      • Urani's In-house Agents
        • MEV Agent Aleph
        • MEV Agent Bet
      • The Onboarding Process
      • Economic Incentives
      • MEV Agent Specs
      • Setting up an Agent's Graph
      • Building an initial AMM Strategy
      • Liquidity Strategies
        • On Solana
          • Raydium
          • Phoenix
          • Orca
          • Meteora
          • Jupiter
      • Performance and Reputation
      • Solving Cryptomarkets
        • Quantitative Theories and AI-Centric Agents
        • DeFi Glossary
        • In Honor of Jim Simons (1938-2024)
Powered by GitBook
  1. URANI SWAP
  2. Technicals

Urani's Intent Specs

This documentation explains how intents work for a limit order in a Urani Swap v1 (alpha) swap.


Creating an Intent

To create an intent for a limit order, a user can send the encapsulated JavaScript object to the /orders endpoint using a POST request.

{
        "intentId": 123456,
        "srcToken": "9wFF5VM1vWxK7EaSg9dLSkY8jZAGs8R4DQ9K9X5Jd2ac",
        "srcAddress": "0ddb0a23e291b4aeb4c031d91ebf7fdea086eff5",
        "srcAmount": 8714,
        "dstToken": "2oNdfRRaxxYE8wRz5xZdqhfv6MFqjVcMkeVusQPh24dP",
        "dstAddress": "0dd10a23e291b4aeb4c031d91ebf7fdea086eff5",
        "minReceived": 1704,
        "expiration": 1718034091
}

Here is a breakdown of each parameter and its purpose:

  • intentId: A unique identifier for the intent. In the provided code, it is generated randomly for demonstration purposes.

  • srcToken: The source token's address (mint address) on the Solana blockchain.

  • srcAddress: The wallet address from which the source tokens will be sent.

  • srcAmount: The amount of source tokens to be swapped.

  • dstToken: The destination token's address (mint address) on the Solana blockchain.

  • dstAddress: The wallet address to which the destination tokens will be sent.

  • minReceived: The minimum amount of destination tokens expected from the swap.

  • expiration: The expiration timestamp of the intent.

PreviousBatch AuctionsNextOrder Types

Last updated 8 months ago

Learn how the Swap handles the ingestion of intents: .

"Building a Limit Order Ingestion on Solana"