# 21.dev > Swift cryptography project hub for the swift-secp256k1 package — secp256k1 elliptic curve operations, ECDSA/Schnorr signatures, and zero-knowledge proofs. Documentation spans two subdomains; each has its own llms.txt with local context. 21.dev is the main site for the swift-secp256k1 open-source Swift package (`21-DOT-DEV/swift-secp256k1` on GitHub). The package provides two public modules built on the secp256k1 elliptic curve: - P256K — wraps libsecp256k1 (Bitcoin Core). High-level API for key generation, ECDSA signing/verification, ECDH shared secrets, and public key recovery. Start here for standard elliptic curve operations. - ZKP — wraps libsecp256k1-zkp (Blockstream Elements fork). Provides the same base operations as P256K plus zero-knowledge proof capabilities: Pedersen commitments, range proofs, Schnorr signatures, and surjection proofs. Things to know when working with this documentation: - P256K and ZKP are sibling modules wrapping different C libraries — pick one, do not import both. Use P256K for standard operations; use ZKP when you need commitments, range proofs, or surjection proofs - All APIs are Swift 6.1+ with strict concurrency (swift-tools-version: 6.1, swiftLanguageModes: [.v6]) - Consumers should use only the public Swift APIs in P256K or ZKP, never the underlying C bindings (libsecp256k1, libsecp256k1_zkp) directly - Documentation auto-updates with package releases; the DocC HTML version (docs.21.dev) includes GitHub source links to exact line numbers Two subdomains serve documentation: - docs.21.dev — DocC-generated HTML reference with search and type hierarchies, plus co-located LLM-optimized markdown files at /data/documentation/*.md - 21.dev — this hub site with project pages and blog ## Full Context - [21.dev llms-full.txt](https://21.dev/llms-full.txt): Complete site content for full-context ingestion (this file + all page content + blog posts inline) - [docs.21.dev llms-full.txt](https://docs.21.dev/llms-full.txt): Complete documentation content for full-context ingestion ## Docs - [docs.21.dev llms.txt](https://docs.21.dev/llms.txt): Local llms.txt for the documentation subdomain (HTML + markdown) ## API Reference (Markdown — LLM-optimized) - [P256K Module Overview](https://docs.21.dev/data/documentation/p256k.md): Elliptic curve cryptography — key generation, ECDSA signing, ECDH key agreement, public key recovery - [ZKP Module Overview](https://docs.21.dev/data/documentation/zkp.md): Zero-knowledge proofs — Pedersen commitments, range proofs, Schnorr signatures ## Source Code - [GitHub Repository](https://github.com/21-DOT-DEV/swift-secp256k1): Swift package source, issues, and releases - [Package.swift](https://github.com/21-DOT-DEV/swift-secp256k1/blob/main/Package.swift): Swift Package Manager manifest with dependency coordinates ## Site Pages - [Homepage](https://21.dev/): Project overview, mission, and featured packages - [P256K Package](https://21.dev/packages/p256k/): Detailed package page with features, FAQ, and getting started - [Blog](https://21.dev/blog/): Development updates and announcements - [Hello World](https://21.dev/blog/hello-world/): Introduction to 21.dev and the P256K Swift libsecp256k1 wrapper ## Optional - [Example Symbol — Markdown](https://docs.21.dev/data/documentation/p256k/p256k/signing/sharedsecret.md): Sample documentation format (plain text, LLM-readable) - [Example Symbol — HTML](https://docs.21.dev/documentation/p256k/sharedsecret): Same symbol as interactive DocC page (Vue.js SPA, requires JavaScript to render) - [P256K Interactive Docs](https://docs.21.dev/documentation/p256k/): DocC HTML reference with search and type hierarchy - [ZKP Interactive Docs](https://docs.21.dev/documentation/zkp/): DocC HTML reference with search and type hierarchy - [Issues](https://github.com/21-DOT-DEV/swift-secp256k1/issues): Bug reports and feature requests ## Blog Posts (Markdown) - [Hello World](https://21.dev/data/blog/hello-world.md): Welcome to 21.dev: why non-custodial Bitcoin is still hard—and our first tool, P256K (a Swift libsecp256k1 wrapper for ECDSA + Schnorr).