MUSEGOD
$MUSEGODThe token0x0379E228F6887c6F18bf394042ECAF81B308cb2e
The MusesThe NFT collection, 999 muses0x13Ea3072b7215d4C9c2Ec4f498A08c5825129836
Collect a muse on OpenSea
docs

docs · Start

Rewards

Every trade on the pool pays a 1% fee, and 90% of it streams to holders by balance. Rewards sit in the distributor until they are claimed, and they never expire, because the distributor has no owner, no setters and no sweep.

For a person, the rewards check is the whole thing: paste an address or name.eth to see what's waiting, connect that wallet to claim it, and ring the bell from the row under the claim box. Hold MUSEGOD walks through a wallet, ETH on Robinhood Chain and the swap.

The rest of this page is for agents, scripts and anyone doing it by hand.

Claim your rewards

Claiming is one transaction with no arguments. It costs a little ETH for gas on Robinhood Chain and nothing else.

1. See what's waiting

curl -s "https://musegod.org/api/v1/rewards?q=0xYourWallet"

earned is what the wallet can claim now, in wei. claim.ready is true when it's above zero. The same number is onchain as earned(address):

cast call 0xaAFC482D0757a705C8F3c41f375c1D79832D8975 "earned(address)(uint256)" 0xYourWallet --rpc-url https://rpc.mainnet.chain.robinhood.com

2. Send the claim

The answer carries the transaction, ready to sign:

"claim": {
  "ready": true,
  "tx": { "chainId": 4663, "to": "0xaAFC482D0757a705C8F3c41f375c1D79832D8975", "data": "0x4e71d92d", "value": "0" },
  "forTx": { "chainId": 4663, "to": "0xaAFC482D0757a705C8F3c41f375c1D79832D8975", "data": "0xddeae033…", "value": "0" }
}
  • tx is claim(). Send it from the holder's own wallet and the rewards go to that wallet.
  • forTx is claimFor(holder). Any wallet may send it, and the rewards still go to the holder, never to the sender. This lets an agent with its own gas wallet deliver a holder's rewards without touching their keys. It only works when the holder is a wallet, not a contract.

With Foundry:

cast send 0xaAFC482D0757a705C8F3c41f375c1D79832D8975 "claim()" --rpc-url https://rpc.mainnet.chain.robinhood.com --account holder
cast send 0xaAFC482D0757a705C8F3c41f375c1D79832D8975 "claimFor(address)" 0xHolder --rpc-url https://rpc.mainnet.chain.robinhood.com --account agent

With viem:

import { createWalletClient, defineChain, http } from 'viem'
import { privateKeyToAccount } from 'viem/accounts'

const robinhood = defineChain({
  id: 4663,
  name: 'Robinhood Chain',
  nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
  rpcUrls: { default: { http: ['https://rpc.mainnet.chain.robinhood.com'] } },
})
const account = privateKeyToAccount(process.env.PRIVATE_KEY)
const wallet = createWalletClient({ account, chain: robinhood, transport: http() })

const r = await fetch(`https://musegod.org/api/v1/rewards?q=${account.address}`).then((r) => r.json())
if (r.claim.ready) {
  const hash = await wallet.sendTransaction({ to: r.claim.tx.to, data: r.claim.tx.data })
  console.log(`claimed: https://musegod.org/c/${hash}`)
}

When it reverts

ErrorWhy
NothingToClaimearned is zero. Hold, wait for the stream, try later.
ExcludedAccountThe address is excluded from rewards (the pool and the distributor itself).
ClaimForContractNotAllowedclaimFor was sent for a contract. A contract must call claim() itself.

Simulate first with eth_call or cast call and nothing is spent on a claim that would fail.

Ring the bell

Ringing the bell is a call to distribute() on the distributor. It pulls the trading fees, buys MUSEGOD back, and starts a new 24 hour stream to every holder. Anyone can ring it, and whoever does gets a tip of 0.5% of the buyback, paid in MUSEGOD.

Rings show up on the home page's community wall, ranked by how many times each wallet has rung. The bell itself is on the rewards page.

Check before you ring:

curl -s https://musegod.org/api/v1/bell

The API simulates the call for free and answers ready: true when it would go through. reason: "NothingToDistribute" means the bell was rung recently and there's nothing new to stream yet. The answer carries the transaction:

{ "ready": true, "reason": null, "bountyBps": 50, "tx": { "chainId": 4663, "to": "0xaAFC482D0757a705C8F3c41f375c1D79832D8975", "data": "0xe4fc6b6d", "value": "0" } }

Pass ?to=0x… to send the tip somewhere other than the sender. That builds distributeFor(address) instead.

Then ring it:

cast send 0xaAFC482D0757a705C8F3c41f375c1D79832D8975 "distribute()" --rpc-url https://rpc.mainnet.chain.robinhood.com --account ringer

Or send the tx from /bell with any wallet. A ring that would revert costs nothing if you simulate it first.

A loop that checks /bell every few minutes and sends tx when ready is true is a complete keeper. The god runs one of its own, but more ringers means fresher streams for everyone, and the tip goes to whoever gets there first.

Share

Every claim gets its own card at https://musegod.org/c/<tx hash>. Post that link and X, Discord and Telegram show the amount on a card. These are the other links worth posting:

LinkWhat people see
https://musegod.orgA live card with what holders have been paid so far, redrawn every 5 minutes
https://musegod.org/profile/<name or address>A wallet's profile, by its OpenSea username, its name.eth or its address. The card shows their rank, their bag, what the god has sent them and a few of their rarest roles and honors
https://musegod.org/c/<tx hash>A claim's card, with the amount. A claim the god sent for a holder shows as a blessing

Every card is also an image on its own, for posts and embeds: add .jpg (for example https://musegod.org/profile/0x00a839de7922491683f547a67795204763ff8237.jpg). The live card is at https://musegod.org/og/live.jpg.

Try yours: https://musegod.org/profile/0x00a839de7922491683f547a67795204763ff8237.

The API has open CORS, so a page, a bot or a dashboard can use it straight from the browser. A few ideas: a Telegram or Discord bot that answers "what do I have waiting?" with /rewards and posts claim cards, a bell ringer that posts its own receipt, a leaderboard from /holders and /faithful. Build with us picks the path and has a prompt to start an agent on it.

If you build something, tell the god at @musegod_rh, show it in the Discord, or under a video on YouTube.