Test Plan — Node Matrix
Step-by-step guide to test n8n agent execution and AI nodes on indie.money (~1 hour).
Written By pvdyck
Last updated 41 minutes ago
Time: ~1 hour | What you'll do: Test 2 agents (or 1 combined) on indie.money and report bugs
Before You Start
You need:
- A MetaMask wallet or just an email address to sign in — the platform is gasless, no ETH needed
- A way to build and test your agent before publishing — run it locally using n8n or any compatible tool, then verify it works correctly before uploading to indie.money.
- You can use ChatGPT/Claude to generate your workflow JSON — just give it the constraints below
Need Help?
There's a messenger chat in the bottom-right corner of the app. I'm on the other end. If you're stuck or blocked, send a message — expect ~10 minutes for a reply.
For bugs and feedback that don't need an immediate answer, use FeatureBase (see below).
Step 1: Sign In & Get Funds (3 min)
Visit indie.money and click Marketplace.
Sign in with MetaMask or email. Your balance appears in the header.
To fund agent runs, get USDC into your wallet, then load your run balance:
- Credit card — buy USDC through the on-ramp.
- USDC — send USDC on Base to the address shown.
Then press Deposit to load your run balance. Runs spend from it automatically.
💡 Note: Earnings from sales are a separate balance — they can only be withdrawn to USDC (10% fee, $10 minimum), not topped up.
❗ Important: Bug reporting: Once logged into the marketplace, you're automatically logged into FeatureBase. All bugs and feedback go to feedback.indie.money. When posting, always select the right board:
- Report a Bug — something is broken or behaves unexpectedly
- Feature Requests — UX/UI improvements and suggestions
- Help & Questions — if you're unsure about intended behavior
In every bug report, include: which step failed, a screenshot, and the agent address or Execution ID if you have one.
Step 2: Build Your Workflows in n8n (20 min)
You'll create 2 agents (or 1 combined). Feel free to use AI to generate them — just paste the constraints below into ChatGPT/Claude and ask it to generate n8n workflow JSON.
Constraints
Every agent must start with a Webhook node and contain 10 to 30 nodes with a wide variety of node types (don't just chain 10 Set nodes — use as many different nodes as possible).
Nodes you CAN use (no API keys needed):
Nodes you must NOT use: HTTP Request, and anything requiring an API key (Google Sheets, Slack, Gmail, Discord, Telegram, etc.) — except OpenRouter which the platform provides for free.
Workflow 1: Data Processing
Build an agent that processes data without AI. The goal is to test the data/code nodes.
Example idea (or ask AI to generate something similar):
Webhook → Set node (create sample data: array of 5 objects with name, age, score) → Filter (keep only score > 50) → Sort (by age descending) → Code node (add a "grade" field: A if score > 80, B if > 60, else C) → Respond to Webhook (return the result)Tips for the Code node: Only sync JavaScript works. No await, no fetch(), no require(). Just pure data transformation. Example:
for (const item of $input.all()) { const score = item.json.score; item.json.grade = score > 80 ? 'A' : score > 60 ? 'B' : 'C';}return $input.all();Workflow 2: AI Workflow
Build an agent that uses an AI node. The platform provides an OpenRouter API key — you don't need your own.
The AI model node to use is OpenRouter Chat Model. It defaults to openai/gpt-oss-120b (~$0.00001 per call — essentially free).
If you have an OpenRouter API key, you can and should use it. You can get one for free at openrouter.ai. The platform also provides a fallback key, but using your own helps us test the credential system.
Example idea:
Webhook (receives a "topic" in the body) → LLM Chain (connected to OpenRouter Chat Model) Prompt: "Write 3 bullet points about: {topic}" → Respond to Webhook (return the AI response)Or combine both into a single agent:
Webhook → Set (create sample product data) → Code (calculate totals) → LLM Chain (summarize the data in plain English) → Respond to WebhookTest Locally First
- Run each agent in n8n with the "Test workflow" button.
- For the AI agent, you'll need your own OpenRouter key locally (free at openrouter.ai). On indie.money the platform key handles it.
- Save a screenshot of the successful result and copy the output. You'll compare later.
- Export each agent as JSON.
Step 3: Publish on indie.money (5 min per agent)
- Go to /builder and click the deploy button (e.g., "Deploy Your First Agent" or "Deploy Another Agent").
- Upload your workflow JSON by dropping it on the n8n tile (or click it).
- Walk through the steps: sub-workflows (if any) → schema → metadata.
- Fill in a name and description.
- Under Agent Pricing, set One-time Purchase: $0.01 and Per Run: $0.01.
- Add tag
test, press Enter so the badge appears. - Click "Publish to Marketplace" → sign when prompted (the system is gasless — we pay for gas, you don't need any ETH).
- Credential step: If you have an OpenRouter API key, click "Configure My Credentials" and enter it. If not, click "Skip - Producers Will Provide" — the platform key will be used automatically. For the data agent, there are no credentials to configure.
- Buy a Listing Pass: Click "Buy Listing Pass ($2.99)" — this is paid in USDC from your wallet. You need one pass per agent.
- Once the pass is purchased, click "List on Marketplace" to make your agent visible. (You can also skip and list later from the /builder dashboard.)
Repeat for your second agent.
Step 4: Purchase & Run Your Agents (5 min per agent)
- Go to the marketplace (/), find your agent.
- Click "Deploy Agent" → sign when prompted.
- Go to /producer. Find the agent card.
- If you see a "Configure" button, click it to set up credentials. If you see "Turn On", click it to activate the agent. If you see "Go Live", click it.
- Billing mode: Use Budget mode (the default) or x402 (caller-pays via USDC). Both are fully supported.
- Once ready, click "Run".
- The Run Agent modal opens:
- If your agent expects input (like
{"topic": "blockchain"}), type it in the JSON text area. Click "Load example" if the button is there. - Try typing broken JSON first — you should see a validation error.
- Click "Pay".
- If your agent expects input (like
- Wait for the result.
- Click "View Full Details" to see the full execution output.
Step 5: Compare & Report (10 min)
Compare the indie.money output with your local n8n screenshot/output from Step 2.
- Are the results identical?
- Did any node produce different output?
- Did any node fail that worked locally?
If the agent fails: Try to identify which node caused the failure. Remove that node from the agent in n8n, re-export, publish a new version, and run again. This helps us pinpoint exactly which node is the problem. Report the failing node on FeatureBase.
Report differences on feedback.indie.money under Report a Bug.
Step 6: UX/UI Feedback (5 min)
Post your impressions on feedback.indie.money under Feature Requests or Help & Questions.
Think about:
- Was anything confusing or hard to find?
- Did error messages make sense when things went wrong?
- Was the Builder → Marketplace → Producer flow intuitive?
- Was the Run Agent modal clear (JSON input, payment, results)?
- Was funding (card or USDC into your wallet, then depositing to your prepaid balance for runs) straightforward?
- Anything that felt slow, broken, or ugly?