{"id":"8a551085bca63c063887d848933086a3cc840f8f0bbf9148be294ad172778338","pubkey":"460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c","created_at":1764701646,"kind":30817,"tags":[["d","simpler-social-key-migration"],["title","Simpler Social Key Migration"],["client","nostrhub.io"]],"content":"NIP-A1\n======\n\nKey Migration\n-------------\n\n`draft` `optional`\n\nThis NIP offers a simple mechanism to evaluate and authenticate a key migration socially.\n\nUsers publish kind `39` events when migrating to a new key (`p` tag).\n\n```yaml\n{\n  \"kind\": 39,\n  \"pubkey\": \"<main pubkey>\", // The old/main public key\n  \"tags\": [\n    [\"p\", \"<new pubkey>\"] // The new public key\n  ],\n  content: \"\",\n  // Other fields\n}\n```\n\nKind `39` events are either a legitimate migration and should be accepted, or a phishing attempt \nby an attacker, which should be rejected, and the main key unfollowed.\n\n[NIP-22](22.md) comments SHOULD be used to debate if the event is legitimate. \n\nClients SHOULD offer Web of Trust signals to help users make a decision.\n\nClients SHOULD emphasize off-line verification procedures when a kind `39` is found.\n\nClients MAY offer easy functions to switch the user's follow lists to the new public key and \nrevert the transaction if necessary.","sig":"9f9175796077bdc2392b4f34e4e6e465544d228c810fb66f1cfb3fa8a2ea38d7883938f8eb752214e121e143c2d8bcc638f15f50eaac127aa1ecd919c2bb6b4c"}