{{ t('web5.networkingProfits') }}
{{ networkingProfitsDisplay }}
Content: {{ profitsBreakdown.content_sales_sats.toLocaleString() }} sats
Routing: {{ profitsBreakdown.routing_fees_sats.toLocaleString() }} sats
{{ t('web5.didStatus') }}
{{ userDid }}
{{ didStatus }}
DHT Identity
{{ dhtDid }}
Not published
{{ t('web5.wallet') }}
{{ walletConnected ? t('common.connected') : t('common.disconnected') }}
{{ t('web5.nostrRelays') }}
{{ t('web5.relaysConnected', { count: nostrRelayStats?.connected_count ?? 0 }) }}
{{ t('web5.connectedNodes') }}
{{ t('web5.peersKnown', { count: connectedNodesCount }) }}
{{ t('web5.hardwareWalletDetected') }}
{{ detectedHwWallets.map(d => `${d.type}${d.product ? ' (' + d.product + ')' : ''}`).join(', ') }}
{{ didDocumentFormatted }}
Messages are sent over the Tor network to the selected peer.
{{ sendMessageError }}
{{ sendMessageSuccess }}
{{ t('web5.domainsSubtitle') }}
{{ t('web5.walletSubtitle') }}
{{ meshRelayStatus }}
{{ tx.tx_hash }}
{{ t('web5.nostrRelaysDesc') }}
{{ t('web5.nodeVisibilityDesc') }}
{{ t('web5.yourTorAddress') }}
{{ nodeOnionAddress }}
{{ t('web5.discoverableWarning') }}
{{ t('web5.peerNodesDescription') }}
{{ t('web5.peerNodesDescription') }}
{{ p.name || p.onion || (p.pubkey || '').slice(0, 16) + '...' }}
{{ p.onion }}
{{ (m.from_pubkey || '').slice(0, 16) }}...
{{ formatMessageTime(m.timestamp) }}{{ m.message }}
{{ req.from_did }}
{{ req.message }}
{{ formatMessageTime(req.created_at) }}
{{ t('web5.contentDesc') }}
{{ t('web5.contentDesc') }}
{{ t('common.loading') }}
{{ t('web5.noSharedContent') }}
{{ t('web5.addFilesToShare') }}
{{ item.filename }}
{{ item.description }}
{{ item.mime_type }} · {{ formatBytes(item.size_bytes) }}
Peers will pay {{ getItemPrice(item) || 0 }} sats to access this
{{ t('web5.freeAccessDesc') }}
{{ t('web5.peersOnlyAccessDesc') }}
{{ browsePeerError }}
{{ t('web5.connectingToPeer') }}
{{ t('web5.selectPeerToBrowse') }}
{{ t('web5.choosePeerDesc') }}
{{ t('web5.peerNoContent') }}
{{ pItem.filename }}
{{ pItem.description }}
{{ streamingItem.filename }}
{{ streamingItem.mime_type }}
{{ playerError }}
This may be a Tor-only resource. Copy the URL to use with a Tor-enabled media player.
Peers will pay {{ newContentPrice }} sats to access this
{{ addContentError }}
{{ t('web5.identitiesDesc') }}
{{ t('web5.identitiesDesc') }}
{{ t('common.loading') }}
{{ t('web5.noIdentities') }}
{{ t('web5.createFirstIdentity') }}
{{ identity.did }}
{{ identity.nostr_npub }}
{{ createIdentityError }}
{{ t('web5.deleteIdentityConfirm') }}
{{ keyViewerIdentity.purpose }} identity
{{ keyViewerIdentity.did }}
{{ keyViewerIdentity.pubkey }}
{{ keyViewerIdentity.nostr_npub }}
{{ keyViewerIdentity.nostr_pubkey }}
Enter your login password to reveal private keys. Never share these with anyone.
{{ keyViewerError }}
{{ keyViewerPrivateKeys.ed25519_secret_hex }}
{{ keyViewerPrivateKeys.nostr_nsec }}
{{ keyViewerPrivateKeys.nostr_secret_hex }}
{{ profileEditorIdentity.name }} · {{ profileEditorIdentity.purpose }}
{{ profileError }}
{{ profileSuccess }}
Auto-selects method based on amount: ecash < 1k sats, Lightning 1k–500k, on-chain > 500k
Token (share with recipient):
{{ ecashSendToken }}
{{ t('web5.signWithHwWallet') }}
{{ t('web5.createsPsbt') }}
Unsigned PSBT (copy or download):
Paste signed PSBT or upload file:
You are offline
Send this transaction via mesh radio? It will be relayed by the nearest internet-connected node and you'll receive confirmation updates.
Mesh Relay
{{ meshRelayStatus }}
Sent! TX: {{ sendResultTxid }}
Paid! Hash: {{ sendResultHash }}
Invoice (share with sender):
{{ receiveInvoiceResult }}
Your Bitcoin address:
{{ receiveOnchainAddress }}
{{ t('web5.generateFreshAddress') }}
{{ t('web5.dwnDescription') }}
{{ !dwnInstalled ? 'The DWN container is not installed.' : 'The DWN container is not running.' }} {{ !dwnInstalled ? 'Install it from the App Store to enable decentralized data storage and sync.' : 'Start it from the App Store to enable decentralized data storage and sync.' }}
{{ t('web5.verifiableCredentialsDesc') }}
{{ t('web5.verifiableCredentialsDesc') }}