{
  "name": "Tempo Music",
  "short_name": "Tempo",
  "description": "Publish, discover, purchase, and listen to music with a BRC-100 wallet.",
  "id": "/",
  "start_url": "/",
  "scope": "/",
  "display": "standalone",
  "orientation": "any",
  "background_color": "#080b12",
  "theme_color": "#6d5dfc",
  "categories": ["music", "entertainment"],
  "icons": [
    { "src": "/logo192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
    { "src": "/logo512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" }
  ],
  "shortcuts": [
    { "name": "Discover music", "short_name": "Discover", "url": "/" },
    { "name": "Publish a song", "short_name": "Publish", "url": "/PublishSong" },
    { "name": "My songs", "short_name": "My songs", "url": "/MySongs" }
  ],
  "metanet": {
    "schemaVersion": 1,
    "originator": "tempomusic.net",
    "appName": "Tempo Music",
    "appIdentity": "tempomusic.net",
    "brcs": ["BRC-100", "BRC-29", "BRC-73", "BRC-103", "BRC-116"],
    "repositoryUrl": "https://github.com/p2ppsr/tempo",
    "supportUrl": "https://tempomusic.net/",
    "groupPermissions": {
      "description": "Publish songs, sync your private library across devices, and approve music purchases in one grouped permission grant.",
      "protocolPermissions": [
        { "protocolID": [2, "tmtsp"], "counterparty": "anyone", "description": "Publish and manage Tempo song tokens." },
        { "protocolID": [1, "tempo"], "counterparty": "self", "description": "Sign Tempo key-publication requests." },
        { "protocolID": [2, "messagebox"], "counterparty": "self", "description": "Exchange authenticated storage and wallet messages without separate prompts." },
        { "protocolID": [2, "server hmac"], "counterparty": "self", "description": "Create private nonces for authenticated storage and key-server sessions." },
        { "protocolID": [2, "tempo library"], "counterparty": "self", "description": "Encrypt and authenticate your private Tempo likes and playlists." },
        { "protocolID": [1, "identity key retrieval"], "description": "Use your identity for your artist library and authenticated actions." }
      ],
      "basketAccess": [
        { "basket": "tmtsp", "description": "Manage your published Tempo song tokens." },
        { "basket": "tempo library", "description": "Sync your encrypted likes and playlists across wallet-connected devices." }
      ],
      "certificateAccess": [],
      "spendingAuthorization": {
        "amount": 100000,
        "duration": 2592000,
        "description": "Publish songs, sync your wallet library, and purchase tracks without repeated spend prompts."
      }
    },
    "counterpartyPermissions": {
      "description": "Trust Tempo's active storage providers and key server for authenticated publication, purchase, and royalty flows.",
      "protocols": [
        { "protocolName": "messagebox", "description": "Exchange authenticated messages with each active storage provider." },
        { "protocolName": "auth message signature", "description": "Authenticate Tempo key-server requests." },
        { "protocolName": "server hmac", "description": "Derive authenticated server-session keys." },
        { "protocolName": "3241645161d8", "description": "Derive direct-payment keys for purchases and royalties." },
        { "protocolName": "wallet payment", "description": "Approve and internalize Tempo payments." }
      ]
    }
  },
  "babbage": {
    "originator": "tempomusic.net",
    "groupPermissions": {
      "description": "Publish songs, sync your private library across devices, and approve music purchases in one grouped permission grant.",
      "protocolPermissions": [
        { "protocolID": [2, "tmtsp"], "counterparty": "anyone", "description": "Publish and manage Tempo song tokens." },
        { "protocolID": [1, "tempo"], "counterparty": "self", "description": "Sign Tempo key-publication requests." },
        { "protocolID": [2, "messagebox"], "counterparty": "self", "description": "Exchange authenticated storage and wallet messages without separate prompts." },
        { "protocolID": [2, "server hmac"], "counterparty": "self", "description": "Create private nonces for authenticated storage and key-server sessions." },
        { "protocolID": [2, "tempo library"], "counterparty": "self", "description": "Encrypt and authenticate your private Tempo likes and playlists." },
        { "protocolID": [1, "identity key retrieval"], "description": "Use your identity for your artist library and authenticated actions." }
      ],
      "basketAccess": [
        { "basket": "tmtsp", "description": "Manage your published Tempo song tokens." },
        { "basket": "tempo library", "description": "Sync your encrypted likes and playlists across wallet-connected devices." }
      ],
      "certificateAccess": [],
      "spendingAuthorization": {
        "amount": 100000,
        "duration": 2592000,
        "description": "Publish songs, sync your wallet library, and purchase tracks without repeated spend prompts."
      }
    },
    "counterpartyPermissions": {
      "description": "Trust Tempo's active storage providers and key server for authenticated publication, purchase, and royalty flows.",
      "protocols": [
        { "protocolName": "messagebox", "description": "Exchange authenticated messages with each active storage provider." },
        { "protocolName": "auth message signature", "description": "Authenticate Tempo key-server requests." },
        { "protocolName": "server hmac", "description": "Derive authenticated server-session keys." },
        { "protocolName": "3241645161d8", "description": "Derive direct-payment keys for purchases and royalties." },
        { "protocolName": "wallet payment", "description": "Approve and internalize Tempo payments." }
      ]
    }
  }
}
