Skip to content
17 changes: 11 additions & 6 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -408,20 +408,25 @@
{
"group": "Hackathon 2026",
"pages": [
"hackathon/hackathon-landing",
"hackathon/builder-guide",
"hackathon/submission-requirements",
{
"group": "VM Tutorials",
"group": "Get Started",
"pages": [
"hackathon/get-started",
"hackathon/builder-guide",
"hackathon/submission-requirements"
]
},
{
"group": "Blueprints",
"pages": [
"hackathon/examples/move-game",
"hackathon/examples/evm-bank",
"hackathon/examples/wasm-social"
]
},
{
"group": "Reference Project",
"pages": ["hackathon/example-project"]
"group": "Reference Implementation",
"pages": ["hackathon/lotteria"]
}
]
}
Expand Down
126 changes: 48 additions & 78 deletions hackathon/builder-guide.mdx
Original file line number Diff line number Diff line change
@@ -1,40 +1,30 @@
---
title: 'Hackathon Builder Guide'
title: 'Builder Guide'
icon: map
---

# Transitioning to Your Own Idea
Use this page after [Set Up Your Appchain](/hackathon/get-started). Pick a
direction, prompt your AI agent, deploy, and verify real onchain
behavior.

The Builder Guide is designed for developers who have already completed the
initial environment setup. If you haven't yet launched your first appchain,
please start with the [Step-by-Step Guide](/hackathon/hackathon-landing).

### Before You Continue

Quick check before you start building:
Before you start, confirm:

- **Tools ready**: `weave`, `initiad`, and `minitiad` are installed and in your
PATH ([Step 5](/hackathon/hackathon-landing#step-5-ai-powered-initia-tool-setup-and-verification)).
PATH ([Step 6](/hackathon/get-started#step-6-ai-powered-initia-tool-setup-and-verification)).
- **Infrastructure live**: your rollup and OPinit/Relayer bots are running
([Step 7](/hackathon/hackathon-landing#step-7-setup-interwoven-bots-terminal)).
([Step 8](/hackathon/get-started#step-8-setup-interwoven-bots)).
- **Gas Station keys imported**: your mnemonic is available in local keyrings
([Step 8](/hackathon/hackathon-landing#step-8-final-key-setup-terminal)).


# Quick Reference: The Essentials
([Step 9](/hackathon/get-started#step-9-final-key-setup)).

Use these common commands and AI prompts to manage your project during the
hackathon.
## Recommended Order

| Task | Command / AI Prompt |
| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Resume Appchain** | `weave rollup start -d && weave opinit start executor -d` (Restarts chain and executor. Ensure Docker Desktop is open. If relayer is not running, run `weave relayer start -d`.) |
| **Health Check** | _Using the `initia-appchain-dev` skill, please verify that my appchain, executor bot, and relayer are running and that my Gas Station account has a balance._ |
1. Complete [Set Up Your Appchain](/hackathon/get-started).
2. Choose between building your app from scratch or using a Blueprint for reference.
3. Implement your app with your AI agent.
4. Deploy and verify real onchain interactions.
5. Complete [Submission Requirements](/hackathon/submission-requirements).


# Part 1: Development Workflow

Master the Describe -> Build -> Test cycle. This is how you win the hackathon.
# Part 1: Core Workflow

### Funding Your Personal Wallet

Expand All @@ -46,126 +36,106 @@ Station.

2. Ask your AI agent to fund your wallet:

**Prompt:**

```terminal wrap
```terminal title="Prompt: Fund your personal wallet" wrap
Using the `initia-appchain-dev` skill, please fund my personal wallet <YOUR_WALLET_ADDRESS> with 1 INIT on L1 and 100 of my appchain's native tokens on L2.
```

### The Core Loop
### Describe -> Build -> Test

1. **Describe the Goal**: Tell the AI _what_ you want to achieve and _why_.
2. **Build & Test (Unit)**: Let the AI write the code AND the unit tests.
1. **Describe the Goal**: Tell the AI what you want to achieve and why.
2. **Build & Test**: Let the AI write the code and unit tests.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Create and test the contract" wrap
Using the `initia-appchain-dev` skill, please create a new <MOVE / EVM / WASM> contract project in a directory named <PROJECT_NAME>, implement the core logic for <APP_NAME>, and create/run unit tests that verify both success and failure paths.
```

3. **Deploy**: Instruct the AI to deploy your contract/module to your appchain.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Deploy to your appchain" wrap
Using the `initia-appchain-dev` skill, please build and deploy my contract/module from the <PROJECT_NAME> directory to my appchain using my Gas Station account. If this VM requires instantiate after deploy, run that too, then return the deployed address.
```

4. **On-Chain Verification**: Ask the AI to verify your live deployment with interactions and state queries.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Smoke test live deployment" wrap
Using the `initia-appchain-dev` skill, I want to smoke test my live <CONTRACT_NAME> on my appchain. Please execute 2-3 realistic user actions, then query state after each step and confirm the observed results match expected behavior.
```

<Tip>
**Submission Receipt:** To qualify for the hackathon prizes, you must provide
the Contract Address of your primary logic and a Transaction Hash of a user
interacting with it. Save these as soon as you have a working version!
**Save these early:** As you build, save your deployed contract address and a
real L2 interaction transaction hash. You will need this information when
completing `.initia/submission.json`.
</Tip>

# Part 2: Choose Your Blueprint

To qualify for the hackathon prizes, your project must implement at least one
Initia Native Feature (defined as Pillar 3 in the submission
requirements). These Blueprints provide the foundation for meeting that
requirement.
To qualify for the hackathon prizes, your project must implement at least one
supported Native Feature. These Blueprints provide implementation patterns you
can adapt, or use as references while building your own concept.

<Note>
**The Custom Implementation:** To win, don't just deploy these examples as-is.
Judges look for your `Custom Implementation`: the unique code and functionality you
added on top of these base patterns to solve a specific problem.
**Originality matters:** Whether you build from scratch or adapt an example,
judges will look for clear custom logic, UX, and product differentiation.
</Note>

<CardGroup cols={1}>
<Card title="Blueprint 1: BlockForge Game (Auto-signing)" icon="wand-magic-sparkles" href="/hackathon/examples/move-game">
**Pillar 3: Invisible UX.** A high-frequency application where the
blockchain handles logic silently in the background. Users never see a
wallet popup after the initial session start.
A high-frequency application where the blockchain handles logic silently in
the background. Users approve a session once, then continue interacting
without repeated wallet popups.
- **Native Feature:** [`Auto-signing`](/interwovenkit/features/autosign/introduction)
- **Best for:** Gaming, Social tipping, High-frequency trading.
</Card>

<Card title="Blueprint 2: MiniBank (Interwoven Bridge)" icon="bridge" href="/hackathon/examples/evm-bank">
**Pillar 3: Liquidity & Connectivity.** An application that allows users
to move assets between the broader Initia L1 and your appchain without
leaving your interface.
An application that allows users to move assets between the broader Initia
L1 and your appchain without leaving your interface.
- **Native Feature:** [`Interwoven Bridging`](/interwovenkit/features/transfers/deposit-withdraw)
- **Best for:** DeFi Lending, Cross-chain storefronts, Multi-chain games.
</Card>

<Card title="Blueprint 3: MemoBoard (Initia Usernames)" icon="user-group" href="/hackathon/examples/wasm-social">
**Pillar 3: Human Identity.** An application that prioritizes
human-readable identities, replacing complex hex addresses with personal
usernames.
An application that prioritizes human-readable identities, replacing
complex hex addresses with personal usernames.
- **Native Feature:** [`Initia Usernames`](/developers/developer-guides/integrating-initia-apps/usernames)
- **Best for:** Consumer Social, Peer-to-peer payments, DAO governance.
</Card>
</CardGroup>


# Part 3: Making It Demo-Ready
# Part 3: Prepare Your Submission

Use this checklist to mirror the official
[Submission & Eligibility Criteria](/hackathon/submission-requirements).
[Submission Requirements](/hackathon/submission-requirements).

- **Rollup Chain ID**: Include your appchain Chain ID.
- **Submission JSON**: Create `.initia/submission.json` and complete all required fields exactly as defined in [Submission & Eligibility Criteria](/hackathon/submission-requirements).
- **Supporting Evidence**: Ensure your JSON includes valid paths to your core logic file and power-up frontend file, plus a real L2 interaction transaction.
- **Submission JSON**: Create `.initia/submission.json` and complete all required fields exactly as defined in [Submission Requirements](/hackathon/submission-requirements).
- **Supporting Evidence**: Ensure your JSON includes valid paths to your core logic file and native feature frontend file, plus a real L2 interaction transaction.
- **Demo Video URL**: Include a 1-3 minute walkthrough video (Loom/YouTube, publicly accessible via URL).
- **README Summary**: Add a short project overview and implementation details section for judges.


# Part 4: Debugging & Troubleshooting

Speed is everything in a hackathon, and debugging is where most time is lost.
Use these professional workflows to unblock yourself, even when following the
standard examples.

### Debugging Workflow

Whether you are building from scratch or running a blueprint example, errors are
Whether you are building from scratch or adapting an example, errors are
inevitable.

1. **Open the Browser Console**: Press `F12` or `Cmd+Option+J` to see the exact
error logs.
2. **Context is King**: Ensure your AI agent (Cursor, Gemini) is open in
your project root. This allows it to reference your `package.json`, your
`interwovenkit` initialization, and your specific chain configuration.
2. **Provide Project Context**: Ensure your AI agent is open in your project root.
This allows it to reference your `package.json`, your `interwovenkit`
initialization, and your specific chain configuration.
3. Ask your AI agent to fix the issue directly, then paste the exact console
error below the question.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Fix the error in my codebase" wrap
Please find and fix this error directly in my codebase, then tell me what changed.
[PASTE_CONSOLE_ERROR]
```

### Deep Dives & Official References

If your AI agent is stuck or you need to see the source of truth:
### Official References

- **Official Docs**: Visit [docs.initia.xyz](https://docs.initia.xyz/) for
architectural details and API references.
Expand All @@ -177,5 +147,5 @@ If your AI agent is stuck or you need to see the source of truth:


> **Mandatory:** Review the
> [Submission & Eligibility Criteria](/hackathon/submission-requirements)
> [Submission Requirements](/hackathon/submission-requirements)
> to ensure you are eligible for prizes.
36 changes: 11 additions & 25 deletions hackathon/examples/evm-bank.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: 'EVM Tutorial: MiniBank - Liquidity & Connectivity'
title: 'MiniBank - EVM'
icon: bridge
---

Expand Down Expand Up @@ -28,16 +28,14 @@ my-initia-project/
<Note>
**Prerequisite:** Ensure you have an EVM-compatible appchain running
locally. If you haven't launched one yet, complete the
[Step-by-Step Guide](../hackathon-landing) first.
[Set Up Your Appchain](../get-started) first.
</Note>

### Readiness Check

Before you start, verify that your local infrastructure is healthy.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Check local infrastructure health" wrap
Using the `initia-appchain-dev` skill, please verify that my appchain, executor bot, and relayer are running and that my Gas Station account has a balance.
```

Expand All @@ -47,9 +45,7 @@ Instruct your AI agent to create the Solidity contract using the
`initia-appchain-dev` skill. Your AI agent will generate the contract and
automatically run unit tests to ensure the logic is sound.

**Example Prompt:**

```terminal wrap
```terminal title="Prompt: Create and test the MiniBank contract" wrap
Using the `initia-appchain-dev` skill, please create a Solidity smart contract project for our MiniBank in a new directory named `minibank`. The contract should:
- Allow users to deposit native tokens.
- Allow users to withdraw their own deposited tokens.
Expand Down Expand Up @@ -175,9 +171,7 @@ forge test
Now that the logic is verified, build and publish the contract to your live
appchain using the Gas Station account.

**Prompt:**

```terminal wrap
```terminal title="Prompt: Deploy the MiniBank contract" wrap
Using the `initia-appchain-dev` skill, please build, publish, and instantiate the MiniBank Solidity contract located in the `minibank` directory to my appchain using my Gas Station account, then return the deployed contract address.
```

Expand Down Expand Up @@ -229,9 +223,7 @@ Before moving to frontend integration, smoke test the deployed contract
directly on chain from the CLI. This isolates contract-level issues before UI
work.

**Example Prompt:**

```terminal wrap
```terminal title="Prompt: Smoke test the MiniBank contract" wrap
Using the `initia-appchain-dev` skill, I want to smoke test our live MiniBank contract. Using my Gas Station account on my appchain, please:
1. Deposit 1 token.
2. Check my balance.
Expand Down Expand Up @@ -293,13 +285,13 @@ Let's create a simple UI to interact with our bank.

**1. Scaffold the Frontend:**

```terminal wrap
```terminal title="Prompt: Scaffold the MiniBank frontend" wrap
Using the `initia-appchain-dev` skill, please scaffold a new Vite + React application named `minibank-frontend` in my current directory using the `scaffold-frontend` script. Create a component named Bank.jsx with Deposit and Withdraw buttons and an input field for the amount.
```

**2. Connect to Appchain:**

```terminal wrap
```terminal title="Prompt: Connect the frontend to the MiniBank contract" wrap
Using the `initia-appchain-dev` skill, modify the Bank.jsx component in the `minibank-frontend` directory to connect to our MiniBank contract on my appchain. Use the `@initia/interwovenkit-react` package for wallet connection and transaction signing.
```

Expand Down Expand Up @@ -857,7 +849,7 @@ Using the `initia-appchain-dev` skill, please fund my wallet address <YOUR_WALLE

If you get stuck, see the [Debugging Workflow guide](../builder-guide#debugging-workflow).

# ⚡ Power-Up: Interwoven Bridge
# 🪢 Native Feature: Interwoven Bridge

Adding bridge support allows users to bring liquidity from the broader Initia
ecosystem into your rollup. This transforms your appchain from an isolated
Expand All @@ -878,9 +870,7 @@ seamless UI to bridge tokens into your application for use.
The `useInterwovenKit()` hook provides `openBridge`, which opens the bridge
modal for moving assets between chains.

**Example Prompt:**

```terminal wrap
```terminal title="Prompt: Add Interwoven Bridge support" wrap
Using the `initia-appchain-dev` skill, please enable Interwoven Bridge support in my MiniBank so I can move funds between chains on Initia.
```

Expand Down Expand Up @@ -957,10 +947,6 @@ const bridgeButtonStyle = {
}
```

<Tip>
**Pro Tip:** This allows users to access L1 liquidity and bridge assets into your
appchain while keeping the landing page focused.
</Tip>
</Accordion>

If you want a complete end-state after the manual steps above, use the
Expand Down Expand Up @@ -1295,7 +1281,7 @@ This reference assumes:
- the Vite dev server is restarted after any `.env` change.
</Accordion>

### Power-Up Verification
### Native Feature Verification

1. Connect your wallet in `minibank-frontend`.
2. Click `Bridge Funds`.
Expand Down
Loading
Loading