Step 1 — Local health
Your proxy-router is up and listening:Step 2 — Public TCP reachable
Consumers connect to your:3333 over the public internet. From a machine outside your network:
Connection succeeded. If it times out, your firewall / security group / NAT is blocking; consumers will see your bid but never get inference.
Step 3 — On-chain provider record
Confirm the marketplace recognises your registration:Address, Endpoint (the host:port you registered, no protocol), Stake, and IsDeleted: false.
Same trick for your model:
Step 4 — Network discovery
Two cron-driven dashboards aggregate the marketplace into JSON snapshots. Your provider only shows up here if the cron has reached you successfully after your registration:active_bids.json, it means the verifier could reach the chain but could not reach your :3333. Re-check Step 2.
The dashboards refresh on a schedule (a few minutes); give it time before concluding it failed.
Step 5 — End-to-end prompt via the Inference API
The hosted Morpheus Inference API serves as the easiest end-to-end consumer. If a real prompt against your model name returns text, you’ve proven the full chain (consumer → API Gateway → discovery → your P-Node → your backend → response).- Sign in at app.mor.org, grab an API key.
- In the dashboard’s API Test page (or any OpenAI-compatible client) pick your model name from the dropdown.
- Send any short prompt.
When in doubt
The Discord#tech-support channel is the fastest path. Include:
- Your provider wallet address (lowercase
0x…). - Your model ID and bid ID.
- The output of Steps 1, 3, and 4.
Common gotchas surfaced by the chat history
| Symptom | Cause | Fix |
|---|---|---|
Provider on chain but missing from active_bids.json | Public :3333 not reachable | Open firewall / security group; verify with nc -vz from outside |
:3333 reachable, model still missing from active_models.json | The verifier couldn’t ping the model’s apiUrl | Confirm models-config.json apiUrl is reachable from inside the proxy-router host |
Healthcheck fails with connection refused to BASE | Default round-robin RPC rate-limited / unavailable | Set your own ETH_NODE_ADDRESS (Alchemy / Infura) — see env-proxy-router |
| Lost ~MOR during setup | Each postModelBid charges a non-refundable marketplaceBidFee (0.3 MOR); reposting bids during configuration adds up | See Pricing and the “What can cost you MOR during setup” section in Quickstart |

