Gyblosdocs
Sellers

Registration

Distinguish running, registered and listed, then enable your seller in discovery.

View Markdown

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 register

The 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 publish

It 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 = true

Validate 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 seller

The 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
ObservationWhat it establishes
RUNNINGThe seller service is running
Registration succeededThis identity may publish to that index
listed in the indexThe lookup found this NodeId for the queried model
not found in the indexThe completed lookup did not find this NodeId
not in the first 2000 sellersThe lookup budget ended; absence is not established
index unreachableThe 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.

On this page