Skip to main content
Welcome to the Initia hackathon! Our goal is to empower builders to push the boundaries of what’s possible with Interwoven Rollups. To ensure your project is eligible for judging and showcases the best of the Initia ecosystem, please adhere to the following technical pillars.

1. Eligibility Pillars

To qualify for the prize pool, projects must demonstrate meaningful integration with the Initia stack.

Pillar 1: Dedicated Rollup Architecture

This hackathon is dedicated to the power of appchains. Your project should be deployed as its own appchain.
  • Requirement: Provide your rollup’s Chain ID and a link to a transaction or contract deployment on your rollup.
  • Getting Started: Use the weave CLI to launch and manage your environment.

Pillar 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.

Pillar 3: Showcasing Initia Native Features

High-value projects go beyond Hello World by leveraging Initia’s native features. Your submission should implement at least one of the following Interwoven Power-Ups:
  1. Auto-signing (Invisible UX): Create a frictionless experience where players or users can interact with the blockchain seamlessly without constant wallet popups (Session UX).
  2. Interwoven Bridge (Liquidity & Connectivity): Enable the native bridge interface to allow users to move assets between your appchain and the broader Initia ecosystem.
  3. Initia Usernames (Human Identity): Integrate human-readable .init names to replace complex addresses and improve user onboarding.

2. Technical Resource Hub

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

3. Submission Package

To support reliable automated verification, every submission repository must include this file:
  • Required path: .initia/submission.json
This JSON file is the source of truth for eligibility checks. Also include a human-readable summary in your README.md, but the grader should parse .initia/submission.json.

Required .initia/submission.json Template

{
  "project_name": "My Project",
  "repo_url": "https://github.com/<org>/<repo>",
  "commit_sha": "0123456789abcdef0123456789abcdef01234567",
  "rollup_chain_id": "my-game-1",
  "vm": "move",
  "power_up": "auto-signing",
  "core_logic_path": "blockforge/sources/items.move",
  "power_up_frontend_path": "blockforge-frontend/src/Game.jsx",
  "l2_interaction_tx": "0x...",
  "demo_video_url": "https://youtu.be/..."
}

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.
  • vm: Required. One of move, evm, wasm.
  • power_up: Required. One of auto-signing, interwoven-bridge, initia-usernames.
  • core_logic_path: Required. Repo-relative file path that exists at commit_sha.
  • power_up_frontend_path: Required. Repo-relative file path that exists at commit_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 your README.md:
## Initia Hackathon Submission

- **Project Name**: [Your Project Name]
- **Submission JSON**: [Link to `.initia/submission.json` in this repo]

### Project Overview

[Provide a 2-3 sentence description of your application. Why is it valuable and
what problem does it solve?]

### Implementation Detail

- **The Custom Implementation**: Briefly describe the unique logic you added.
  What original functionality did you design and implement?
- **The Power-Up**: Which Interwoven feature did you use, and exactly how does
  it improve the user experience?
- **The Value Add**: What meaningful value does this application create for
  crypto users, and how does it specifically strengthen the Initia ecosystem?

### How to Run Locally

[Provide 3-4 clear steps for a judge to run your frontend and connect it to a
local environment if necessary.]