tanX Docupaper
AboutTrade
  • ABOUT
    • πŸ“’tanX Docupaper
  • TECH
    • πŸ‘©β€πŸ’»Tech Docupaper
      • 🏨High level architecture
      • πŸ€”Starkware logic
      • 🌊Transactional flow
        • Off-chain accounts
        • The deposit flow
        • The withdrawal flow
        • The trade flow
        • The transfer flow
        • Full withdrawal
    • πŸ”ŒAPI Documentation
      • πŸ˜‹Getting started
        • Test connectivity
      • πŸ“ˆMarket
        • 24hr Tickers Price
        • K-line/Candlestick data
        • Orderbook
        • Recent trades
      • ↔️Trading
        • Create order
        • Get order
        • List orders
        • Cancel order
        • Bulk Cancel
        • List trades
      • πŸ”Account
        • Generating L2 Key Pairs
        • Login
        • Deposit
        • Withdrawal
        • Profile Information
        • Balance details
        • Profit and loss details
      • 🌏Web-socket stream
        • πŸ—οΈPrivate web-socket connection
        • πŸ‘₯Public websocket connection
      • ✨Internal Transfer
        • Create Internal Transfer
        • Get Internal Transfer
        • Check User Existence
        • List Internal Transfers
      • πŸ§ͺSDK Reference
        • NodeJS SDK
        • Python SDK
  • LEGAL
    • ‼️tanX Disclaimer
Powered by GitBook
On this page

Was this helpful?

  1. TECH
  2. Tech Docupaper
  3. Transactional flow

The deposit flow

PreviousOff-chain accountsNextThe withdrawal flow

Last updated 1 year ago

Was this helpful?

Before User can trade, they need to deposit funds into StarkEx via tanX. To do so, they first deposit funds to the on-chain Starkware contract deployed by tanX. The application should then send a corresponding off-chain deposit transaction, which updates the off-chain state.

1. User deposits funds on-chain.

Alice executes an on-chain transaction to deposit funds. The deposit operation supports deposits of ETH, ERC-20, ERC-721, and ERC-1155.

The on-chain deposit function gets the following parameters:

starkKey

The public Stark key that corresponds to the vault id.

assetType

The asset identifier of the token to be deposited.

vaultId

The recipient’s off-chain account.

quantizedAmount

For ERC-20 and ERC-1155, the amount to be deposited. For ERC-721, this value must be 1.

NOTE : A user can deposit to any vault, even to one that they do not own.

πŸ‘©β€πŸ’»
🌊
Deposit flow archtiecture