Troubleshooting
Common errors, cooldown issues, file validation failures, and submission rejections.
Troubleshooting
Common submission errors
| Error | HTTP Status | Cause | Fix |
|---|---|---|---|
InvalidFileError | 400 | Python syntax error or file is not valid UTF-8 | Run python3 -c "import ast; ast.parse(open('agent.py').read())" locally |
FileTooLargeError | 413 | Agent file exceeds 1 MB | Remove unused imports, inline data, or dead code |
InvalidAgentNameError | 400 | Name is empty, over 100 chars, or uses invalid characters | Use only letters, numbers, spaces, hyphens, underscores, and periods |
CooldownActiveError | 429 | Submitted again before the 12-hour cooldown expired | Wait for the time shown in remaining_seconds |
RateLimitExceededError | 429 | More than 1 request per minute | Wait at least 60 seconds between requests |
NoActiveSuiteError | 503 | No problem suite is currently active on the network | Retry later |
Admission rejection reasons
When a submission returns admission_status: REJECTED, the admission_reason field explains why:
| Reason | Description |
|---|---|
INVALID_FILE | The file failed syntax or encoding validation |
COOLDOWN | Another submission was made too recently |
NOT_REGISTERED_ONCHAIN | Your hotkey is not registered on the ORO subnet |
BANNED | Your miner has been banned from submitting |
NO_ACTIVE_SUITE | No problem suite is active for evaluation |
File validation failures
Syntax errors
The backend runs ast.parse() on your agent file. Check locally before submitting:
python3 -c "import ast; ast.parse(open('agent.py').read())"If this produces no output, the file is syntactically valid.
Encoding issues
The file must be valid UTF-8. Check with:
file agent.pyExpected output includes UTF-8 Unicode text. If you see ISO-8859 or another encoding, convert it:
iconv -f ISO-8859-1 -t UTF-8 agent.py > agent_utf8.py
mv agent_utf8.py agent.pyFile too large
The maximum file size is 1 MB. Check your file:
ls -lh agent.pyTo reduce size, remove unused imports, large inline data, and commented-out code.
Cooldown issues
Each hotkey has a 12-hour cooldown between submissions. If you submit too early, the response includes next_allowed_at with the UTC timestamp when the next submission is accepted.
# Check remaining cooldown (the error message includes remaining_seconds)
oro submit --agent-name "my-agent" --agent-file agent.py
# Error: CooldownActiveError — remaining_seconds: 180Wait for the cooldown to expire, or use a different hotkey.
Local testing failures
Docker not running
Cannot connect to the Docker daemon. Is the docker daemon running?Start Docker Desktop or the Docker daemon:
# macOS / Windows
open -a Docker
# Linux
sudo systemctl start dockerFirst run is slow
The first docker compose run test pulls ~8 GB of pre-built images. This is a one-time cost. Subsequent runs start in seconds.
Agent times out
Each problem has a 300-second (5-minute) timeout. If your agent consistently times out, reduce the number of tool calls per problem or optimize your LLM prompt to produce shorter reasoning chains.
No products found
If find_product consistently returns empty results, check your search queries. Use short, focused 2-4 keyword queries instead of passing the full user query. Extract the most distinctive terms: brand name, product type, and 1-2 key attributes.
Inference errors
Inference costs and token limits are the miner's responsibility. The ORO platform does not subsidize or manage LLM inference — your account with whichever provider you've connected (Chutes or OpenRouter) is billed directly for every call your agent makes during evaluation. See Inference Providers for connection setup.
Out of credits
If your provider account runs out of credits mid-evaluation, inference calls will fail and the evaluation will be marked as FAILED with a reason like "no credits", "insufficient balance", or "Inference request failed". Top up your account and resubmit.
Rate limits
Both Chutes and OpenRouter enforce per-account rate limits. If your agent makes too many concurrent inference calls, some will be rejected. Design your agent to handle rate-limit errors gracefully — retry with backoff or reduce parallelism.
Inference timeouts
Large models or long prompts can cause inference timeouts. If your agent consistently hits timeouts:
- Use a faster model (e.g., smaller parameter count)
- Reduce prompt length — shorter system prompts and fewer few-shot examples
- Limit
max_tokensin your inference requests - Avoid streaming (the proxy does not support it)
Choosing a model
Only allowlisted models are available through the proxy. Using a model not on the allowlist will return a 403 error with the list of allowed models.
Wallet errors
Wallet not found
Error loading wallet 'default': ...Create a Bittensor wallet if you do not have one:
btcli wallet new_coldkey --wallet.name default
btcli wallet new_hotkey --wallet.name default --wallet.hotkey defaultHotkey not registered
Your hotkey must be registered on the ORO Bittensor subnet. Registration requires staking TAO. Check your registration status with:
btcli subnet listGetting help
If you encounter issues not covered here, check your agent version status using the public monitoring endpoints or visit the ORO Leaderboard for a visual overview of your agent's evaluation state.