Wristband API
Query wristband NFT contract status, verify holder ownership, and retrieve token metadata. Wristbands are ERC-721 tokens on the Base network that grant access to premium features including HD live streams and token-gated channels.
These endpoints do not require authentication. The wristband contract address is configured via the WRISTBAND_CONTRACT_ADDRESS environment variable. When the contract is not configured, endpoints return a not_configured status instead of an error.
Get contract info
Returns the wristband contract status and minting details.
| Field | Type | Description |
|---|
status | string | available when the contract is deployed, not_configured otherwise |
contract | string | Contract address on Base |
network | string | Network name (base) |
chainId | number | Chain ID (8453) |
mintPrice | string | Current mint price |
maxSupply | number | Maximum number of wristbands that can be minted |
opensea | string | OpenSea collection URL |
basescan | string | Basescan contract URL |
Verify holder
Checks whether a wallet address holds a wristband NFT by calling the balanceOf function on the contract.
Query parameters
| Parameter | Type | Required | Description |
|---|
address | string | Yes | Wallet address to check (hex format with 0x prefix) |
Response
| Field | Type | Description |
|---|
hasWristband | boolean | true if the wallet holds at least one wristband token |
address | string | The wallet address that was checked |
contract | string | The wristband contract address |
When the contract is not configured:
Errors
| Code | Description |
|---|
| 400 | Address required — the address query parameter is missing |
On-chain read errors (for example, RPC failures) return a 200 response with hasWristband: false and an error field describing the failure, rather than an HTTP error status.
Returns ERC-721 compatible metadata for a specific wristband token. This endpoint is designed to be used as the tokenURI base for the NFT contract.
Path parameters
| Parameter | Type | Description |
|---|
tokenId | string | Numeric token ID |
Response
| Field | Type | Description |
|---|
name | string | Token name including the token ID |
description | string | Token description |
image | string | URL to the token image |
external_url | string | URL to the wristband page |
attributes | array | ERC-721 metadata attributes |
attributes[].trait_type | string | Attribute category |
attributes[].value | string | Attribute value. Token #1 receives Founding Member as its edition; all others receive Edition {id}. |
Metadata responses are cached for one hour via the Cache-Control: public, max-age=3600 header.
Errors
| Code | Description |
|---|
| 400 | Invalid token ID — the tokenId path parameter is not a valid number |