{"id":35239788,"url":"https://github.com/intersectmbo/evolution-sdk","last_synced_at":"2026-04-29T04:08:54.406Z","repository":{"id":307211630,"uuid":"1027913777","full_name":"IntersectMBO/evolution-sdk","owner":"IntersectMBO","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-26T02:48:50.000Z","size":13663,"stargazers_count":14,"open_issues_count":32,"forks_count":25,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T04:26:11.303Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://intersectmbo.github.io/evolution-sdk/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IntersectMBO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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":"2025-07-28T18:13:47.000Z","updated_at":"2026-04-26T02:37:48.000Z","dependencies_parsed_at":"2026-03-02T18:00:59.987Z","dependency_job_id":null,"html_url":"https://github.com/IntersectMBO/evolution-sdk","commit_stats":null,"previous_names":["no-witness-labs/evolution-sdk","intersectmbo/evolution-sdk"],"tags_count":131,"template":false,"template_full_name":null,"purl":"pkg:github/IntersectMBO/evolution-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fevolution-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fevolution-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fevolution-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fevolution-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IntersectMBO","download_url":"https://codeload.github.com/IntersectMBO/evolution-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IntersectMBO%2Fevolution-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32410020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T03:46:11.172Z","status":"ssl_error","status_checked_at":"2026-04-29T03:37:55.317Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-12-30T04:46:53.565Z","updated_at":"2026-04-29T04:08:52.207Z","avatar_url":"https://github.com/IntersectMBO.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \n  # Evolution SDK\n  \n  **TypeScript-first Cardano development with static type inference**\n  \n  Build robust Cardano applications with modern TypeScript, functional programming, and comprehensive type safety.\n  \n  [![Build Status](https://img.shields.io/github/actions/workflow/status/IntersectMBO/evolution-sdk/ci.yml?branch=main)](https://github.com/IntersectMBO/evolution-sdk/actions)\n  [![TypeScript](https://img.shields.io/badge/TypeScript-5.4+-blue.svg)](https://www.typescriptlang.org/)\n  [![Effect](https://img.shields.io/badge/Effect-3.0+-blueviolet.svg)](https://effect.website/)\n  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n  \n  [Documentation](https://intersectmbo.github.io/evolution-sdk) • [Quick Start](#quick-start) • [Contributing](#contributing)\n\u003c/div\u003e\n\n---\n\n## What is Evolution SDK?\n\nEvolution SDK is a **TypeScript-first** Cardano development framework. Define your data schemas and build transactions with full type safety. You'll get back strongly typed, validated results with comprehensive error handling.\n\n```typescript\nimport { client, preprod } from \"@evolution-sdk/evolution\"\n\n// Create a client with wallet and provider\nconst sdk = client(preprod)\n  .withBlockfrost({\n    baseUrl: \"https://cardano-preprod.blockfrost.io/api/v0\",\n    projectId: process.env.BLOCKFROST_API_KEY!\n  })\n  .withSeed({\n    mnemonic: \"your twelve word mnemonic phrase here...\",\n    accountIndex: 0\n  })\n\n// Build a transaction with full type safety\nconst tx = await sdk\n  .newTx()\n  .payToAddress({\n    address: \"addr_test1qz...\",\n    assets: { lovelace: 2000000n }\n  })\n  .build()\n\n// Sign and submit\nconst signed = await tx.sign()\nconst hash = await signed.submit()\nconsole.log(\"Transaction submitted:\", hash)\n```\n\n## Features\n\n- **Zero runtime errors** - Comprehensive TypeScript types for all Cardano primitives\n- **Effect-powered** - Built on Effect for robust error handling and async operations  \n- **Blazing fast** - Modern tooling with hot reload and optimized builds\n- **DevNet ready** - Local blockchain development with Docker integration\n- **Modular design** - Tree-shakeable exports for minimal bundle size\n- **CBOR first-class** - Native support for Cardano's binary format\n- **Battle-tested** - Production-ready with comprehensive test coverage\n\n---\n\n## Installation\n\n```bash\nnpm install @evolution-sdk/evolution\n```\n\n## Quick Start\n\n```typescript\nimport { Address, client, preprod } from \"@evolution-sdk/evolution\"\n\n// Work with addresses - convert between formats\nconst bech32 = \"addr1qx2kd28nq8ac5prwg32hhvudlwggpgfp8utlyqxu6wqgz62f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sy0f4qd\"\n\n// Parse Bech32 to address structure\nconst address = Address.fromBech32(bech32)\nconsole.log(\"Network ID:\", address.networkId)\nconsole.log(\"Payment credential:\", address.paymentCredential)\n\n// Convert to different formats\nconst hex = Address.toHex(address)\nconst bytes = Address.toBytes(address)\n\n// Build and submit transactions\nconst sdk = client(preprod)\n  .withBlockfrost({\n    baseUrl: \"https://cardano-preprod.blockfrost.io/api/v0\",\n    projectId: process.env.BLOCKFROST_API_KEY!\n  })\n  .withSeed({\n    mnemonic: \"your mnemonic here...\",\n    accountIndex: 0\n  })\n\nconst tx = await sdk\n  .newTx()\n  .payToAddress({\n    address: bech32,\n    assets: { lovelace: 2000000n }\n  })\n  .build()\n\nconst signed = await tx.sign()\nconst txHash = await signed.submit()\n```\n\n## Architecture\n\nEvolution SDK is built as a **single package** with a clean, modular structure that's ready for future expansion:\n\n```\nevolution-sdk/\n├── 📦 packages/\n│   └── evolution/           # Main SDK package\n│       ├── src/\n│       │   ├── Address.ts   # Address utilities\n│       │   ├── Transaction.ts # Transaction building\n│       │   ├── Devnet/      # Development network tools\n│       │   └── ...\n│       └── dist/            # Compiled output\n├── docs/                    # Documentation\n├── turbo.json              # Turbo configuration\n├── pnpm-workspace.yaml     # Workspace configuration\n└── flake.nix               # Nix development environment\n```\n\n## Package\n\n| Package                                            | Description                                                                  | Status                                                                                                                     | Documentation                            |\n| -------------------------------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |\n| [`@evolution-sdk/evolution`](./packages/evolution) | Complete Cardano SDK with address management, transactions, and DevNet tools | In Development | [README](./packages/evolution/README.md) |\n\n### Core Features\n\n- **Address Management**: Create, validate, and convert Cardano addresses\n- **Transaction Building**: Construct and serialize transactions with type safety\n- **CBOR Encoding/Decoding**: Handle Cardano's binary data format\n- **Network Utilities**: Tools for different Cardano networks\n- **DevNet Integration**: Local development blockchain with Docker\n- **Data Schemas**: Comprehensive Cardano data type definitions\n\n## Core Modules\n\nEvolution SDK provides **125+ core modules** plus SDK utilities, organized into comprehensive categories:\n\n### Address Management (10 modules)\n- `Address` - Core address utilities with bech32/hex encoding\n- `BaseAddress`, `ByronAddress`, `EnterpriseAddress` - Address type implementations\n- `PaymentAddress`, `PointerAddress`, `RewardAddress` - Specialized addresses\n- `AddressEras`, `AddressTag`, `StakeReference` - Address metadata\n\n### Transaction Handling (9 modules)\n- `Transaction`, `TransactionBody`, `TransactionHash` - Core transaction types\n- `TransactionInput`, `TransactionOutput`, `TransactionIndex` - I/O handling\n- `TransactionWitnessSet`, `TransactionMetadatum`, `TransactionMetadatumLabels` - Metadata \u0026 witnesses\n\n### Cryptography \u0026 Security (9 modules)\n- `Ed25519Signature`, `KesSignature`, `VrfCert` - Digital signatures\n- `Hash28`, `KeyHash`, `VrfKeyHash` - Hash utilities\n- `VKey`, `KESVkey`, `VrfVkey` - Verification keys\n\n### Value \u0026 Assets (7 modules)\n- `Coin`, `PositiveCoin`, `Value` - ADA and multi-asset handling\n- `MultiAsset`, `AssetName`, `PolicyId` - Asset management\n- `Mint` - Minting operations\n\n### Scripts \u0026 Certificates (7 modules)\n- `Certificate`, `NativeScripts`, `NativeScriptJSON` - Script support\n- `ScriptDataHash`, `ScriptHash`, `ScriptRef` - Script utilities\n\n### Governance \u0026 Staking (12 modules)\n- `DRep`, `DRepCredential`, `VotingProcedures` - Governance\n- `ProposalProcedures`, `CommitteeColdCredential`, `CommitteeHotCredential` - Committee\n- `PoolKeyHash`, `PoolMetadata`, `PoolParams` - Pool management\n- `Withdrawals`, `Credential` - Staking operations\n\n### Network \u0026 Communication (11 modules)\n- `Network`, `NetworkId`, `Relay` - Network utilities\n- `IPv4`, `IPv6`, `Port`, `DnsName`, `Url` - Network addressing\n- `SingleHostAddr`, `SingleHostName`, `MultiHostName` - Host management\n\n### Data Types \u0026 Primitives (15 modules)\n- `Bytes`, `BoundedBytes` + 8 fixed-size byte arrays\n- `Text`, `Text128`, `BigInt`, `Natural` - Text and numeric types\n- `NonZeroInt64`, `Numeric`, `UnitInterval` - Specialized numbers\n\n### Blockchain Primitives (12 modules)\n- `Block`, `BlockBodyHash`, `BlockHeaderHash` - Block structure\n- `Header`, `HeaderBody`, `EpochNo` - Block components\n- `AuxiliaryDataHash`, `OperationalCert`, `ProtocolVersion` - Protocol\n- `Pointer`, `Anchor`, `RewardAccount` - Blockchain references\n\n### Core Utilities (8 modules)\n- `CBOR`, `Codec`, `Combinator` - Core encoding/decoding\n- `Data`, `DataJson`, `DatumOption` - Data handling\n- `Bech32`, `FormatError` - Utilities and error handling\n\n### Development Tools (2 modules)\n- `Devnet`, `DevnetDefault` - Local development network with custom configuration, automated testing, transaction simulation, and performance monitoring\n\n## Development\n\n### Setting Up the Development Environment\n\n```bash\n# Clone the repository\ngit clone https://github.com/no-witness-labs/evolution-sdk.git\ncd evolution-sdk\n\n# Enter Nix development shell (optional but recommended)\nnix develop\n\n# Install dependencies\npnpm install\n\n# Build all packages\npnpm turbo build\n\n# Start development mode with file watching\npnpm turbo dev\n\n# Run type checking\npnpm turbo type-check\n```\n\n### Available Scripts\n\n| Command                 | Description                            |\n| ----------------------- | -------------------------------------- |\n| `pnpm turbo build`      | Build the package with optimal caching |\n| `pnpm turbo dev`        | Start development mode with hot reload |\n| `pnpm turbo type-check` | Run TypeScript type checking           |\n| `pnpm turbo test`       | Run all tests (when available)         |\n| `pnpm turbo lint`       | Run code quality checks                |\n| `pnpm turbo clean`      | Clean all build artifacts              |\n\n## Documentation\n\n### Website\nFor comprehensive guides, tutorials, and interactive examples, visit our [official documentation](https://intersectmbo.github.io/evolution-sdk).\n\n### API Reference\nComplete API documentation with type definitions and examples is available in our [API reference](https://intersectmbo.github.io/evolution-sdk/api).\n\n### Learning Resources\n\n- [Getting Started Guide](https://intersectmbo.github.io/evolution-sdk/getting-started) - Your first steps with Evolution SDK\n\n## Community \u0026 Support\n\nJoin our thriving community of Cardano developers:\n\n- [Discord](https://discord.gg/jnGW5YG3) - Get help, share projects, and discuss development\n- [X](https://x.com/nowitnesslabs) - Latest announcements and ecosystem updates  \n- [GitHub Issues](https://github.com/IntersectMBO/evolution-sdk/issues) - Bug reports and feature requests\n- [GitHub Discussions](https://github.com/IntersectMBO/evolution-sdk/discussions) - Questions, ideas, and community showcases\n\n### Getting Help\n\n- Found a bug? Open an issue with a minimal reproduction\n- Need help? Ask in our Discord community\n- Have an idea? Start a discussion on GitHub\n- Want to contribute? Check our [contribution guide](#contributing)\n\n## Roadmap\n\n### Phase 3: Transaction Building \u0026 Providers (Mostly Complete)\n- [x] **Transaction Builder Components**\n  - [x] Transaction builder with fluent API\n  - [x] UTXO selection algorithms (largest-first)\n  - [x] Fee calculation utilities\n  - [x] Balance and change computation\n  - [x] Multi-asset transaction support\n  - [x] Script witness attachment\n- [x] **Provider Integrations**\n  - [x] `Maestro` - Maestro API provider\n  - [x] `Blockfrost` - Blockfrost API provider\n  - [x] `Koios` - Koios API provider\n  - [x] `KupoOgmios` - Kupo/Ogmios provider\n  - [ ] `UtxoRpc` - UTXO RPC provider\n  - [x] Provider abstraction layer\n  - [ ] Failover and load balancing\n- **Wallet Integration**\n  - [ ] Hardware wallet support (Ledger, Trezor)\n  - [x] Browser wallet integration (CIP-30)\n  - [ ] Multi-signature wallet support\n  - [ ] Wallet connector abstraction layer\n  - [x] CIP-30 standard implementation\n- [x] **Smart Contract Support**\n  - [x] Plutus V1/V2/V3 script evaluation\n  - [x] Script validation utilities\n  - [x] Datum and redeemer handling (inline datums, datum hashes, 3 redeemer modes)\n  - [x] Script cost estimation (automatic ExUnits computation)\n  - [x] Reference scripts support\n- [x] **Governance (Conway Era)**\n  - [x] DRep registration, update, deregistration\n  - [x] Governance voting (DRep, Committee, SPO)\n  - [x] Governance proposals\n  - [x] Constitutional Committee operations\n  - [x] Vote delegation\n- [x] **Staking**\n  - [x] Stake credential registration/deregistration\n  - [x] Pool delegation\n  - [x] DRep delegation (Conway)\n  - [x] Combined register + delegate certificates\n  - [x] Rewards withdrawal\n  - [x] Script-controlled staking\n- [ ] **Effect 4.0 Migration**\n  - [ ] Upgrade to Effect 4.0 when released\n  - [ ] Leverage new Effect features and performance improvements\n  - [ ] Update all Codec and Error handling patterns\n  - [ ] Maintain backward compatibility where possible\n\n### Phase 4: Advanced Features (Planned)\n- [ ] **Hydra Integration**\n  - [ ] Hydra Head management\n  - [ ] State channel operations\n  - [ ] Off-chain transaction handling\n  - [ ] Hydra Head lifecycle management\n  - [ ] Layer 2 scaling utilities\n- [ ] **DeFi Primitives**\n  - [ ] DEX integration utilities\n  - [ ] Liquidity pool management\n  - [ ] Yield farming helpers\n  - [ ] NFT marketplace tools\n- [ ] **Developer Experience**\n  - [ ] CLI tool for project scaffolding\n  - [ ] VS Code extension\n  - [ ] Interactive tutorials\n  - [x] Schema types from Plutus blueprint types (codegen)\n\n### Current Focus\nThe core SDK covers transaction building, smart contracts (Plutus V1/V2/V3), providers (Blockfrost, Maestro, Koios, Kupo/Ogmios), CIP-30 wallet integration, Conway governance, and staking. Current priorities include additional coin selection algorithms, UTXO RPC provider support, hardware wallet integration, and Hydra integration.\n\n## Contributing\n\nWe love your input! We want to make contributing to Evolution SDK as easy and transparent as possible.\n\n### Quick Start for Contributors\n\n1. Fork and clone the repository\n   ```bash\n   git clone https://github.com/IntersectMBO/evolution-sdk.git\n   cd evolution-sdk\n   ```\n\n2. Install dependencies\n   ```bash\n   pnpm install\n   ```\n\n3. Start development\n   ```bash\n   pnpm turbo dev\n   ```\n\n4. Make your changes and test them\n   ```bash\n   pnpm turbo build\n   pnpm turbo type-check\n   ```\n\n5. Create a pull request\n\n### Contribution Guidelines\n\n- Follow TypeScript best practices - Use strict typing and modern patterns\n- Add tests for new features and bug fixes\n- Update documentation when adding new APIs\n- Keep changes focused - One feature/fix per pull request\n- Follow conventional commits - Use clear, descriptive commit messages\n\nRead our full [Contribution Guide](CONTRIBUTING.md) for detailed guidelines.\n\n## License\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## Acknowledgments\n\nEvolution SDK builds on the incredible work of:\n\n- [Turborepo](https://turborepo.org/) - For the incredible build system\n- [Effect](https://effect.website/) - For functional programming excellence  \n- Our [contributors](https://github.com/IntersectMBO/evolution-sdk/graphs/contributors) - Building the future together\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003e\n    \u003csub\u003eBuilt with ❤️ by \u003ca href=\"https://github.com/no-witness-labs\"\u003eNo Witness Labs\u003c/a\u003e\u003c/sub\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/IntersectMBO/evolution-sdk\"\u003e⭐ Star us on GitHub\u003c/a\u003e •\n    \u003ca href=\"https://x.com/nowitnesslabs\"\u003eFollow on X\u003c/a\u003e •\n    \u003ca href=\"https://discord.gg/jnGW5YG3\"\u003eJoin Discord\u003c/a\u003e\n  \u003c/p\u003e\n  \n  [Read the docs](https://intersectmbo.github.io/evolution-sdk) to get started building with Evolution SDK\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintersectmbo%2Fevolution-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintersectmbo%2Fevolution-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintersectmbo%2Fevolution-sdk/lists"}