Documentation Index
Fetch the complete documentation index at: https://blank.build/docs/llms.txt
Use this file to discover all available pages before exploring further.
Metadata URI Rules
The metadata URI you pass toblank.launch.create() has a few strict rules. They exist to keep transaction sizes predictable and to make sure the URI you launched with stays valid forever.
URI limits
- Max 72 bytes. That’s the hard cap on
metadataUri. - Use canonical, compact URIs. Specifically
ipfs://...orar://.... - No gateway URLs. Anything that points through a gateway is rejected — including
gateway.pinata.cloud,dweb.link,nftstorage.link,cloudflare-ipfs.com,arweave.net, and similar. Gateways can disappear, redirect, or rate-limit; the underlying content hash should not.
Required launch sequence
Metadata must be publicly readable before you callblank.launch.create(). For bots and other automated launchers:
- Upload the image.
- Upload metadata JSON that points to that image.
- Fetch the metadata through a public gateway until it returns HTTP 200 JSON.
- Confirm the JSON has an
imageURI. - Pass the canonical
ipfs://...orar://...URI to Blank.
LAUNCH_BUILD_METADATA_UNRESOLVABLE.
Metadata JSON
The worker fetches and resolves your metadata at build time so it can populate the token’s row in our database. At minimum, your JSON should look like this:website, twitter, telegram, github.
If the metadata can’t be resolved, or if the JSON has no image, Blank rejects the build. Upload your image and metadata first, verify the canonical URI resolves through a public gateway, and only then call blank.launch.create().