{
  "id": 7951,
  "title": "EIP-7951: Precompile for secp256r1 Curve Support",
  "status": "Final",
  "type": "Standards Track",
  "category": "Core",
  "summary": "This adds support for a widely-used cryptographic curve called secp256r1 (also known as P-256) to Ethereum. Currently, Ethereum only supports the secp256k1 curve for signatures, but many devices and systems use secp256r1. This change allows Ethereum to verify signatures from devices like iPhones, Android phones, hardware wallets, and other systems that use this standard curve, making it easier to integrate with existing infrastructure. Note: This EIP supercedes [RIP-7212](https://github.com/ethereum/RIPs/blob/master/RIPS/rip-7212.md).",
  "impacts": [
    "Can use their existing devices (phones, hardware wallets) to sign Ethereum transactions without additional software or conversion steps.",
    "Can integrate with existing secp256r1-based systems and devices more easily, reducing development complexity for authentication and signing flows.",
    "Can support native signing from devices that use secp256r1, improving wallet compatibility and user experience across different platforms.",
    "Need to implement secp256r1 signature verification in tooling, but gain ability to work with broader ecosystem of devices and systems.",
    "Can leverage secp256r1 signatures for Layer 2 operations, improving compatibility with existing infrastructure.",
    "Minimal impact as this primarily affects transaction validation and doesn't change consensus or staking mechanics.",
    "No impact on consensus layer as this affects execution layer transaction validation.",
    "Need to implement secp256r1 precompile for efficient signature verification, but this is a well-established cryptographic standard.",
    "Enables native integration with billions of secp256r1 devices",
    "Eliminates need for signature conversion or additional infrastructure",
    "Improves user experience for mobile and hardware wallet users",
    "Reduces development complexity for authentication systems",
    "Enables compliance with existing security standards"
  ],
  "discussion_url": "https://ethereum-magicians.org/t/eip-7951-precompile-for-secp256r1-curve-support/24360",
  "source_markdown_url": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7951.md",
  "canonical_url": "/latest/eips/7951.json",
  "markdown_url": "/latest/eips/7951.md",
  "citations": [
    {
      "recordId": "eip-7951",
      "artifactPath": "normalized/7951.json",
      "url": "/records/proposal/eip-7951/normalized/7951.json",
      "label": "EIP-7951: Precompile for secp256r1 Curve Support",
      "snippet": "This adds support for a widely-used cryptographic curve called secp256r1 (also known as P-256) to Ethereum. Currently, Ethereum only supports the secp256k1 curve for signatures, but many devices and systems use secp256r1"
    }
  ]
}
