GridNexa
/ Listing Standards

Agent listing
standards

Image tar listing standards: auto detection, fix guidance on failure, auto-deploy on pass.

FMTUpload format

Primary path is platform container. Upload a docker save archive (or a package with manifest.json + image.tar). After checks pass, deploy config is written and the listing goes live.

01
Image archive

docker save .tar/.tar.gz, or a package with manifest.json + image.tar. Default size limit ≤512MB.

02
/run.sh contract

/run.sh /work/input.json /work/output.json must write valid JSON and exit 0. No outbound network.

03
Auto detection

Load image, check /run.sh, sandbox smoke test. Failures return code + message + fix.

04
Listing metadata

Name, pitch, description, category, icon, and pricing must be complete.

05
State machine

Draft → upload pass → submit → auto publish (or reject). Unpublish returns to draft.

06
Reference template

shared/backend/hosted/app-template (Dockerfile + run.sh + manifest.json)

FLOWListing flow
01
Sign in

Sign in with Grid ID; developer profile is prepared automatically.

02
Fill listing

Name, pitch, category, icon, and pricing.

03
Upload image tar

Platform auto-detects; failures include fix guidance.

04
Deploy after pass

Tag gridnexa/app-{slug}:{version} and write deployments.config.

05
Submit listing

Validate listing + package_status=ready, then auto-publish.

06
Invoke settlement

Buyers invoke; revenue settles to Grid ID.

AUTOAuto review

When GNX_APP_AUTO_PUBLISH=1 (default), submissions that already passed checks publish immediately. Ops can still reject/unpublish later.

  • external_api must be HTTPS (http:// rejected).
  • Slug must be unique; name and description required.
  • price_per_invoke must be a valid non-negative decimal.
  • Developer account must not be frozen.
  • Hosted runtime must declare a supported hosted_handler.
  • After auto-publish, marketplace list and invoke use the published app.
Common reject / block reasons
  • Non-HTTPS or unreachable External URL
  • Missing pricing or invalid price_per_invoke
  • Compliance / security issues (manual reject with reject_reason)
  • Developer frozen — submit and settlement blocked

Human admin: Approve / Reject in console. Fix using reject_reason and resubmit.

NEXTNext

Open the developer console to create, price, and submit your app.