{
  "name": "Open Exchange",
  "short_name": "Open Exchange",
  "description": "Swap 1Color tokens against the pools on this exchange, and deploy and close liquidity positions.",
  "start_url": "./",
  "scope": "./",
  "display": "standalone",
  "background_color": "#0E1526",
  "theme_color": "#0E1526",
  "metanet": {
    "groupPermissions": {
      "description": "Open Exchange builds swaps and pools with your wallet, holds the tokens on their way into a swap, and receives the sats pools pay you; the list of your tokens and their amounts is read once through your wallet's 1Color module (granted here); sending tokens, and the exact balance of one token, the module asks you about itself.",
      "protocolPermissions": [
        {
          "protocolID": [2, "3241645161d8"],
          "counterparty": "self",
          "description": "Derive one-time keys for the sats pools pay you, and for your LP position (BRC-29 payments to yourself)."
        },
        {
          "protocolID": [2, "amm swap"],
          "counterparty": "self",
          "description": "Derive one-time keys for the tokens held in the swap basket, and sign the swap legs that spend them."
        },
        {
          "protocolID": [1, "identity key retrieval"],
          "description": "Show which wallet is connected and name it as the sender of payments to yourself."
        },
        {
          "protocolID": [2, "server hmac"],
          "counterparty": "self",
          "description": "Create and check the session nonces of authenticated requests to the overlay instance."
        },
        {
          "protocolID": [2, "auth message signature"],
          "description": "Sign authenticated requests to the overlay instance (asked once per instance, on first use)."
        },
        {
          "protocolID": [1, "action label amm-swap"],
          "description": "Label the swaps you build, their funding and their payouts so they are listed together in your wallet."
        },
        {
          "protocolID": [1, "action label amm-pool-deploy"],
          "description": "Label the pools you create so they are listed together in your wallet."
        },
        {
          "protocolID": [1, "action label amm-close"],
          "description": "Label the positions you close so they are listed together in your wallet."
        },
        {
          "protocolID": [1, "action label amm-payout"],
          "description": "Label the pool payouts your wallet takes in so they are listed together."
        }
      ],
      "basketAccess": [
        {
          "basket": "amm-swap",
          "description": "File the tokens sent into the swap basket for your swap legs, spend them in the legs, and move them back into your wallet."
        },
        {
          "basket": "amm-pools",
          "description": "File and read the pools you hold as LP, and drop one when you close it."
        },
        {
          "basket": "p color assets",
          "description": "List the 1Color tokens this wallet holds and their amounts (the wallet's 1Color module). The exact balance of one token is asked when you open it."
        },
        {
          "basket": "1sat-deposit",
          "description": "File the exact funding output of each swap under a short hold, and drop it once the swap has spent it."
        }
      ],
      "certificateAccess": []
    }
  }
}
