Registration
Distinguish running, registered and listed, then enable your seller in discovery.
You need a running seller, the invitation's unused code and the same persistent identity created during installation. Install first if the node is not ready.
Register
Before running the command, verify the intended discovery.url in gyblos.toml and any
GYBLOS_DISCOVERY_URL override in the container environment. The default is
https://discovery.gyblos.com/v1. Review a customized seller.env only in a private editor; do not print it.
Enter an invite only when you trust the configured destination.
cd ~/gyblos-seller
docker compose exec seller gyblos seller registerThe prompt echoes what you type: do not screen-share, record it or paste the code into a command. After accepting the invite, the command prints the index origin and immediately sends the invite and public NodeId. That printed line is informational; there is no confirmation pause.
Registered: this seller may now publish. means discovery accepted the registration.
Already registered is also a success for the same invite and identity. Registration neither changes
gyblos.toml nor publishes the offer.
Solana enrollment
If discovery reports missing enrollment, the interactive command can register your existing owner wallet and NodeId on Solana devnet, then retry discovery automatically. The owner address printed by doctor needs sufficient devnet SOL first: about 0.01 SOL, so send it about 0.02 from the devnet faucet. If it has too little, the command names the owner and how much more SOL it needs; in a terminal it then waits, checking the balance every 15 seconds, and continues once the SOL arrives (Ctrl+C stops it; run it again later). The registration cost is separate from free inference; use no mainnet funds or mainnet keys.
The command shows Pre-simulation funding estimate: before checking funding and simulation. It then
shows Estimated registration cost: and asks Sign and submit this registration? (yes/no):.
Only yes (or y) approves a new signed attempt. The estimate is not a fixed price: upgradeable programs
can change actual costs. If the refreshed cost increases, the command stops so you can review again.
Any other answer declines: REGISTER_CANCELLED means nothing was signed or sent, so run the command again.
Without an interactive terminal, DISCOVERY_IDENTITY_NOT_REGISTERED means rerun interactively.
GYBLOS_INVITE supplies the invite, not consent to a new on-chain submission. If your installed beta
image does not offer this flow, send its image identifier and your public NodeId/owner to the team.
Preserve an uncertain registration attempt
The seller saves private registration state. Rerunning checks that attempt and
may print Resending the previously approved registration. before resending
the same signed bytes without another approval prompt. An uncertain result is
not proof of failure or zero fees. Keep the volume, registration file and
lock. A proven expired blockhash plus finalized absent asset accounts can
permit a replacement with the same asset and fresh consent; expiry alone does
not prove the old attempt never landed or paid a fee. Partial or inconclusive
state needs Gyblos assistance. Never delete state or change home to force
another attempt.
The wallet registered in 8004 is the owner. An existing paid role may have a different payout and show a warning; that does not change the owner. New paid roles use owner as payout, outside this free tutorial.
DISCOVERY_INVITE_INVALID means the code is wrong, used or expired. DISCOVERY_RATE_LIMITED means wait
before retrying; DISCOVERY_UNAVAILABLE means the index could not complete the request. See
troubleshooting for those errors and revoked identities.
Publication
With the installer, turn publishing on from the folder where you saved install.sh:
sh install.sh publishIt sets publish = true in ~/gyblos-seller/gyblos.toml, validates the file and recreates the seller; if
validation fails or you interrupt it, it leaves the file as it was. If you installed elsewhere, prefix the same
GYBLOS_DIR=… you installed with. An older install.sh does not know publish: download it again first. gyblos seller status also names this step while publishing
is off.
To do it by hand, edit the existing [discovery] table in ~/gyblos-seller/gyblos.toml; do not add a
duplicate table:
[discovery]
publish = trueValidate the mounted file, then recreate the seller to apply it:
cd ~/gyblos-seller
docker compose run --rm seller gyblos config validate --config /config/gyblos.toml && docker compose up -d --force-recreate sellerThe first command must report OK. Validation checks file syntax and environment resolution; startup
also checks whether the seller can serve the offer. If validation fails, correct the reported key before restarting.
Check the listing
After the seller starts, query discovery:
cd ~/gyblos-seller
docker compose exec seller gyblos seller status --online| Observation | What it establishes |
|---|---|
RUNNING | The seller service is running |
| Registration succeeded | This identity may publish to that index |
listed in the index | The lookup found this NodeId for the queried model |
not found in the index | The completed lookup did not find this NodeId |
not in the first 2000 sellers | The lookup budget ended; absence is not established |
index unreachable | The lookup failed; listing state is unknown |
An index listing is not an external inference test. Only ready offers are published. The index receives public identity, model and offer metadata; prompts are not part of this listing.
Unlist
Run sh install.sh unpublish, or set publish = false in the same table and recreate the seller. Stopping the seller also withdraws its
presence within two minutes. Do not delete keys to leave discovery. A listing can take time to expire.
Next: Adjust models and offers or operate your seller.