| name | aavegotchi-3d-renderer |
| description | Render Aavegotchi assets by deriving renderer hashes from Goldsky Base core data and calling POST /api/renderer/batch on www.aavegotchi.com. Use when the user gives a tokenId or inventory URL, or when deterministic hash plus image artifacts are required. |
Aavegotchi 3D Renderer
Render gotchi assets from token data and renderer batch APIs.
Inputs
- Accept either
tokenId or inventory URL with id=<tokenId>.
- Target Base by default (
chainId=8453).
Outputs
- Return derived renderer hash.
- Return
/api/renderer/batch HTTP status.
- Save raw batch JSON to disk.
- Save
PNG_Full and PNG_Headshot to disk when available.
- Return
GLB_3DModel availability and URL when present.
Execute
- Extract
tokenId from direct input or inventory URL.
- Query Goldsky Base core subgraph:
https://api.goldsky.com/api/public/project_cmh3flagm0001r4p25foufjtt/subgraphs/aavegotchi-core-base/prod/gn
- Derive hash in renderer format:
<Collateral>-<EyeShape>-<EyeColor>-<Body>-<Face>-<Eyes>-<Head>-<RightHand>-<LeftHand>-<Pet>
- Kick off render with
POST https://www.aavegotchi.com/api/renderer/batch using:
force: true
verify: false
renderTypes: ["PNG_Full", "PNG_Headshot", "GLB_3DModel"]
- Poll
POST /api/renderer/batch with verify: true until availability.exists=true for all requested render types or timeout.
- Download
proxyUrls.PNG_Full and proxyUrls.PNG_Headshot only when corresponding availability.exists=true.
- Return the hash, kickoff + verify responses, poll summary, and saved artifact paths.
Command
Run the bundled script:
node scripts/render-gotchi-bypass.mjs --token-id 6741
Or pass an inventory URL:
node scripts/render-gotchi-bypass.mjs \
--inventory-url "https://www.aavegotchi.com/u/0x.../inventory?itemType=aavegotchis&chainId=8453&id=6741"
Use --out-dir /tmp to control artifact location (default: /tmp).
Optional polling controls:
--poll-attempts 18 --poll-interval-ms 10000
Return format
Always return:
tokenId
hash
- Kickoff status, verify status, and raw JSON paths
- Poll summary (
pollAttempts, pollIntervalMs, renderReady)
PNG_Full and PNG_Headshot output paths (or missing reason)
GLB_3DModel availability and URL when present
Troubleshooting
- If Goldsky returns no gotchi, verify
tokenId and Base context.
- If batch returns hash-format
400, verify eye mappings and right/left wearable order (index4 then index5).
- If
availability.exists is false, ensure kickoff used force:true, then keep polling verify:true until timeout.
- If endpoint returns
404, verify production deployment state.