{"id":28507340,"url":"https://github.com/exactly/webauthn-owner-plugin","last_synced_at":"2026-07-02T10:32:04.136Z","repository":{"id":229843589,"uuid":"777331598","full_name":"exactly/webauthn-owner-plugin","owner":"exactly","description":"webauthn owner plugin for ERC-6900 modular accounts","archived":false,"fork":false,"pushed_at":"2025-11-13T22:06:58.000Z","size":671,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-14T00:11:15.174Z","etag":null,"topics":["account-abstraction","erc-4337","erc-6900","ethereum","passkeys","secp256r1","solidity","webauthn"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exactly.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":"audits/2024-06-10-quantstamp.pdf","citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-25T16:44:54.000Z","updated_at":"2025-11-13T22:07:03.000Z","dependencies_parsed_at":"2025-09-09T06:24:03.769Z","dependency_job_id":"0b34246e-66b9-4d4e-8e82-ac6572fb26b5","html_url":"https://github.com/exactly/webauthn-owner-plugin","commit_stats":null,"previous_names":["exactly/webauthn-owner-plugin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/exactly/webauthn-owner-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exactly%2Fwebauthn-owner-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exactly%2Fwebauthn-owner-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exactly%2Fwebauthn-owner-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exactly%2Fwebauthn-owner-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exactly","download_url":"https://codeload.github.com/exactly/webauthn-owner-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exactly%2Fwebauthn-owner-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35043933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["account-abstraction","erc-4337","erc-6900","ethereum","passkeys","secp256r1","solidity","webauthn"],"created_at":"2025-06-08T20:30:45.042Z","updated_at":"2026-07-02T10:32:04.128Z","avatar_url":"https://github.com/exactly.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Webauthn Owner Plugin\n\nThis repository contains code for an ERC-6900 compliant plugin where one or more\nEOA accounts, ERC-1271 compliant contracts, or P256 passkeys can be owners of\nthe account. Its core features include:\n\n- Enable ECDSA verification of signatures, standard EOA signature verification.\n- Enable ERC-1271 signature verification, standard contract owner signature\n  verification.\n- Enable Webauthn verification, secp256r1 (P256) passkey signatures verification.\n- Multiple equal owners who have the same root access to account.\n- Implements EIP-712.\n- By default, owner validation is added for most of the account's native functions,\n  including:\n  - `installPlugin`/ `uninstallPlugin`\n  - `upgradeToAndCall`\n  - `execute` / `executeBatch`\n\nThis plugin is optimized for Ethereum layer 2 rollup chains but will work on all\nEVM chains. Signature verification always attempts to use the RIP-7212 precompile\nand, if this fails, falls back to using FreshCryptoLib.\nIt conforms to these ERC versions:\n\n- ERC-4337: [0.6.0](https://github.com/eth-infinitism/account-abstraction/blob/releases/v0.6/eip/EIPS/eip-4337.md)\n- ERC-6900: [0.7.0](https://github.com/erc6900/reference-implementation/blob/v0.7.x/standard/ERCs/erc-6900.md)\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e - FreshCryptoLib uses the `ModExp` precompile (`address(0x05)`), which is not supported\n\u003e   on some chains, such as [Polygon zkEVM](https://www.rollup.codes/polygon-zkevm#precompiled-contracts).\n\u003e   This plugin will not work on such chains, unless they support the RIP-7212 precompile.\n\u003e - When attempting to use the RIP-7212 precompile, the plugin will call the precompile\n\u003e   (`address(0x100)`). However, since signature validation might be called during\n\u003e   a user operation validation phase, it can violate ERC-7562 [validation rule OP-041](https://eips.ethereum.org/EIPS/eip-7562#validation-rules)\n\u003e   on networks that don't support the RIP-7212 precompile. Therefore, this plugin\n\u003e   won't be compatible with most bundlers on such networks.\n\n## Developing\n\nAfter cloning the repo, run the tests using Forge, from [Foundry](https://github.com/foundry-rs/foundry)\n\n```bash\nforge test\n```\n\n### Static Analysis\n\nTo run the static analysis tools, install the Python dependencies in `requirements.txt`\nand the JavaScript dependencies using any [_npm-compatible_](https://bun.sh/)\npackage manager:\n\n```bash\npip install -r requirements.txt\nbun install # or npm install\n```\n\nThen run the full suite of tests, including static analysis, formatting,\nand gas checking:\n\n```bash\nbun run test # or npm run test\n```\n\n## Influences\n\nMuch of the code in this repository started from Alchemy's [Multi Owner Plugin](https://github.com/alchemyplatform/modular-account/blob/develop/src/plugins/owner/MultiOwnerPlugin.sol)\nimplementation. It was also influenced by Coinbase's [Smart Wallet](https://github.com/coinbase/smart-wallet).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexactly%2Fwebauthn-owner-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexactly%2Fwebauthn-owner-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexactly%2Fwebauthn-owner-plugin/lists"}