Contracts
EffectStream ships first-party on-chain contracts that templates and applications can extend or use directly. EVM contracts are published as @effectstream/evm-contracts; Cardano validators ship as Aiken sources alongside their compiled plutus.json inside the templates that use them.
EVM (Solidity)
Source: packages/chains/evm-contracts/src/contracts.
Core
EffectstreamL2Contract— the canonical L2 batch poster. CallingeffectstreamSubmitGameInput(bytes)emits anEffectstreamGameInteractionevent that the sync node picks up to advance the state machine. Most dApps extend this directly; seeMyEffectstreamL2.solin the templates.GenericPayment+Proxy/GenericPaymentProxy— UUPS-upgradeable payment receiver with a referrer-reward mechanism, used as a base by sale and launchpad contracts.State+BaseState— minimal on-chain state primitives.
NFT sales & launchpad
PaimaLaunchpad+PaimaLaunchpadFactory— pre-order launchpad with reward tiers, package bundles, and cart checkout. Each campaign is its own deployment. See the NFT Launchpad blog post and thepreordertemplate.NativeNftSale+Proxy/NativeNftSaleProxy— NFT sale paid in the chain's native token (ETH/MATIC/…). UUPS-upgradeable.Erc20NftSale+Proxy/Erc20NftSaleProxy— NFT sale paid in an ERC-20 token. UUPS-upgradeable.AnnotatedMintNft— ERC-721 mint that takes calldata at mint time, used to associate on-chain mints with off-chain state machine context.
Inverse-projected tokens
These implement the EffectStream "inverse projection" pattern — the EVM contract holds the canonical token, and the metadata is served by the application via the PRC HTTP API. See PRC-3 (ERC-721) and PRC-5 (ERC-1155).
InverseAppProjectedNft/InverseBaseProjectedNft— ERC-721, app-mint vs. base-mint variants (+interfacesIInverseAppProjectedNft/IInverseBaseProjectedNft).InverseAppProjected1155/InverseBaseProjected1155— ERC-1155 stackables, app-mint vs. base-mint variants.
Orderbook
OrderbookDex+Proxy/OrderbookDexProxy— base-chain order book for assets that live on an app-chain. ERC-1155-aware, UUPS-upgradeable.
Dev / fixtures
Local-development and integration-test helpers (not intended for production deployments):
ERC721Dev— mintable ERC-721 for local fixtures.dev/Erc20Dev/dev/Token— ERC-20 fixtures.dev/UpgradeDev/dev/NftSaleUpgradeDev/dev/NativeNftSaleUpgradeDev— minimal upgrade targets for proxy regression tests.
Cardano (Aiken)
Aiken validators ship pre-compiled as plutus.json inside the Cardano-side template packages, with the corresponding .ak sources available in the monorepo.
Projected NFT
hololocker— locks an L1 Cardano NFT into a script address so it can be "projected" into an EffectStream L2 game state, then released back on a cooldown. Exposes both spend and mint validators. Source:hololocker.ak. Used by theprojected-nft-preordertemplate.
Examples
hello— minimal Aiken validator used by the e2e test suite. Reference for the shape of a custom validator inside an EffectStream template. Source:hello.ak.
Stake-pool delegation, ZSwap, and other chain-side integrations that don't require their own deployed validator are exposed as primitives rather than contracts — see the relevant chain page (e.g. Cardano) and the paima-standards section.