What to Submit
To submit, include:.initia/submission.jsonas the source of truth for automated checksREADME.mdwith a short project overview, implementation notes, and run instructions- your primary deployed address in the submission JSON
demo_video_urlin your submission JSON
1. Project Requirements
To qualify for the prize pool, projects must demonstrate meaningful integration with the Initia stack.Requirement 1: Dedicated Rollup Architecture
This hackathon is dedicated to the power of appchains. Your project should be deployed as its own appchain.- Requirement: Your submission must include your rollup metadata in
.initia/submission.json, includingrollup_chain_id, your primary deployed address, and a verifiablel2_interaction_tx. - Getting Started: Use the
weaveCLI to launch and manage your environment.
Requirement 2: Optimized Frontend Experience
We encourage builders to use the flagship tooling designed for the Interwoven ecosystem. This ensures your application is fully integrated with the Initia stack and provides a seamless experience for users.- Requirement: Utilize
InterwovenKit(@initia/interwovenkit-react) for wallet connections and transaction handling. - Purpose: This stack is required to ship core Initia UX features like Auto-signing (session-based invisible UX) and Interwoven Bridge flows for moving liquidity between L1 and your appchain.
Requirement 3: Required Native Feature
High-value projects go beyond Hello World by implementing at least one supported Native Feature. In.initia/submission.json, this maps directly to
the required native_feature field.
- Auto-signing (Invisible UX): Create a frictionless experience where players or users can interact with the blockchain seamlessly without constant wallet popups (Session UX).
- Interwoven Bridge (Liquidity & Connectivity): Enable the native bridge interface to allow users to move assets between your appchain and the broader Initia ecosystem.
- Initia Usernames (Human Identity): Integrate human-readable
.initnames to replace complex addresses and improve user onboarding.
Judges will score originality and execution. Projects that only reproduce an
example without meaningful customization are unlikely to score as well as
projects with clear custom logic, UX, or product differentiation.
2. Required Submission Files
To support reliable automated verification, every submission repository must include this file:- Required path:
.initia/submission.json
README.md.
Required .initia/submission.json Template
Validation Rules (Automated Checks)
project_name: Required. Non-empty string.repo_url: Required. Reachable public GitHub repository URL.commit_sha: Required. 40-character hex Git commit SHA.rollup_chain_id: Required. Non-empty string.deployed_address: Required. Primary deployed address for your application logic. Use your contract address, or your module address for Move projects.vm: Required. One ofmove,evm,wasm.native_feature: Required. One ofauto-signing,interwoven-bridge,initia-usernames.core_logic_path: Required. Repo-relative file path that exists atcommit_sha.native_feature_frontend_path: Required. Repo-relative file path that exists atcommit_sha.l2_interaction_tx: Required. Non-empty transaction hash or explorer URL.demo_video_url: Required for every submission. Provide a 1-3 minute walkthrough video (Loom/YouTube, publicly accessible via URL).
Example README Submission Block
Use this as an example for the top of yourREADME.md:
3. Technical Resources
Access the official tools and documentation to build your project:Official Repositories
- Initia L1: Core Layer 1 source code.
- Weave CLI: Essential for launching appchains.
- InterwovenKit: The standard React SDK for Initia frontends.
- Initia.js: The primary JavaScript library for blockchain interactions.
APIs & Endpoints
- Local Rollup Indexer:
http://localhost:8080(Use this to query transactions and assets on your appchain). - L1 Indexer: View Swagger (Use this as a reference for querying global data like L1 assets and staking).
- L1 Testnet RPC:
https://rpc.testnet.initia.xyz - L1 Testnet REST:
https://rest.testnet.initia.xyz - Faucets: faucet.testnet.initia.xyz