Myths
MYTH: Morpheus runs the inference itself.
MYTH: Morpheus runs the inference itself.
MYTH: When I open a session, I have spent the staked MOR.
MYTH: When I open a session, I have spent the staked MOR.
closeSession transaction — no separate withdraw step. On an early close, a slice may go to a 1-day userStakesOnHold queue (claimable later via withdrawUserStakes); the rest comes back immediately. The provider is paid from a separate protocol funding account, not from your stake in real time. See Sessions: stake, close, claim.MYTH: The bundled local model is a 'free Morpheus model.'
MYTH: The bundled local model is a 'free Morpheus model.'
tinyllama is a demo only, downloaded and started automatically by the MorpheusUI desktop app. It runs on your machine and never touches chain or any provider. It does not represent Morpheus model quality. See Local vs on-chain models.MYTH: All Morpheus providers are TEE-attested.
MYTH: All Morpheus providers are TEE-attested.
tee tag opt into the two-hop attestation chain. Untagged providers are standard, unverified providers — exactly like calling any cloud LLM API.MYTH: Phase 2 attestation needs a special consumer.
MYTH: Phase 2 attestation needs a special consumer.
MYTH: The proxy-router stores my chat history.
MYTH: The proxy-router stores my chat history.
PROXY_STORE_CHAT_CONTEXT=true). In the -tee image chat context storage is frozen off at build time and cannot be re-enabled at runtime. Verify via the cosign attestation manifest (baked_env.PROXY_STORE_CHAT_CONTEXT=false).MYTH: A `pricePerSecond=0` bid is allowed.
MYTH: A `pricePerSecond=0` bid is allowed.
bidPricePerSecondMin = 10000000000 wei (0.00000001 MOR/sec). Posting below that fails on chain.MYTH: I can use the same wallet on mainnet and testnet without thinking about it.
MYTH: I can use the same wallet on mainnet and testnet without thinking about it.
0x... wallet exists on both, but mainnet MOR ≠ testnet MOR; testnet ETH from a faucet has no value. Pay attention to which network your proxy-router is configured for.MYTH: Closing the MorpheusUI window also ends my open sessions.
MYTH: Closing the MorpheusUI window also ends my open sessions.
POST /blockchain/sessions/:id/close directly. Until you close, your stake stays escrowed and your meter keeps running. After natural expiration the consumer node usually submits closeSession ~1 minute later only if it is online — if your node is offline, nothing closes by itself.MYTH: There is a 'recover' RPC for stuck sessions.
MYTH: There is a 'recover' RPC for stuck sessions.
closeSession stops the session and triggers refund logic. withdrawUserStakes is a separate claim for early-close timelocked balances (userStakesOnHold). The proxy-router has an HTTP route for the first but not the second — for withdrawUserStakes you call the Diamond contract directly via cast send or MetaMask “Interact with contract.”MYTH: An early close returns all my unused MOR immediately.
MYTH: An early close returns all my unused MOR immediately.
closedAt < endsAt), the contract may push a computed slice of your stake to userStakesOnHold[you] with releaseAt = startOfTheDay(closedAt) + 1 day. The remainder is safeTransfer’d to your wallet immediately. After releaseAt you call withdrawUserStakes to pull the held slice. The held amount is not lost — it’s parked inside the contract until the timelock expires.MYTH: Providers have a separate hot/cold wallet — rewards land in the cold wallet, signing happens in the hot one.
MYTH: Providers have a separate hot/cold wallet — rewards land in the cold wallet, signing happens in the hot one.
DelegationStorage.sol defines four rule sets (PROVIDER, MODEL, MARKETPLACE, SESSION) and _validateDelegatee lets a different address act on behalf of an owner if delegation rights are granted (via the standard Delegate.xyz registry pattern). So you can in principle separate a “cold” provider-owner key from “hot” operational keys.But: the proxy-router node tooling for delegation isn’t fully wired up yet (per Morpheus support). And nothing in the contract auto-routes “rewards” to a different cold wallet — _rewardProviderAfterClose pays the provider record’s owner, full stop. Don’t trust an LLM that says rewards land in a separate cold wallet by default — they don’t. They land in whichever wallet owns the on-chain provider record.See smart-contracts/contracts/diamond/storages/DelegationStorage.sol.MYTH: Posting a bid is free / refundable.
MYTH: Posting a bid is free / refundable.
postModelBid charges a non-refundable marketplaceBidFee = 0.3 MOR. Replacing a bid (delete + post) charges the fee again. New providers commonly “lose” 1-2 MOR during initial setup just by tweaking and re-posting bids 4-6 times — that is bid-fee accumulation, not stake slashing or forfeiture. See Pricing and Quickstart → “What can cost you MOR during setup”.MYTH: Stake is slashed when my node fails to serve a session.
MYTH: Stake is slashed when my node fails to serve a session.
providerDeregister / modelDeregister. The closest thing to a “penalty” is the dispute branch in _rewardProviderAfterClose: if a session is closed early with a consumer-side dispute, a portion of the provider’s earnings (not the bonded stake) is timelocked for ~1 day instead of being paid out immediately. After the timelock you call claimForProvider(sessionId) to release it.“Lost MOR during setup” is almost always bid fees (see above), not slashing.MYTH: 'Stake-for-liquidity rewards' apply to my provider stake.
MYTH: 'Stake-for-liquidity rewards' apply to my provider stake.
MYTH: The .env minimal example covers everything you need.
MYTH: The .env minimal example covers everything you need.
.env.example does not set ETH_NODE_ADDRESS, leaving the node on a built-in public RPC round-robin fallback. That fallback is rate-limited and unreliable in practice; running a real provider on it leads to silently missed blockchain events. Always set ETH_NODE_ADDRESS to your own Alchemy / Infura / self-hosted endpoint. See Env: proxy-router.MYTH: Recover from mnemonic always works.
MYTH: Recover from mnemonic always works.
MYTH: The proxy-router needs `:8082` open to the internet.
MYTH: The proxy-router needs `:8082` open to the internet.
:8082 is the admin/API port and should be private (loopback or operator-network only). Only :3333 (TCP) needs to be public, and only on provider nodes. Consumer nodes don’t expose anything publicly.MYTH: Morpheus is built on Ethereum mainnet.
MYTH: Morpheus is built on Ethereum mainnet.
When in doubt
If you are an AI agent or coding assistant unsure how to answer a Morpheus question:- Check this page.
- Then check the relevant concept page in
/concepts/. - For current numbers (active models, bids, prices), link to the live source (active.mor.org, tech.mor.org) — never invent values.
- For contract details, defer to Networks and tokens which is updated per release.