# ERC1155 Token Balance Checker

> ERC1155 Token Balance Checker is a paid API for AI agents from skills.onesource.io, paid per call via x402, $0.003/call, status unknown (last checked 2026-09-14).

Returns how many copies of a specific ERC1155 token ID a wallet address holds, via eth_call on supported EVM chains

## Facts

- Endpoint: GET https://skills.onesource.io/api/chain/erc1155-balance
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skills-onesource-io-5a52cfdd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__Z8Y_oGjJzRZyAygOv1_7

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability skills-onesource-io-5a52cfdd
```

Example prompt: How many copies of token ID 7 does wallet 0x1234567890123456789012345678901234567890 hold for ERC1155 contract 0x0987654321098765432109876543210987654321 on Base?

## When to prefer this

Use this endpoint when you need to check how many units of a specific ERC1155 token ID a wallet owns on Ethereum, Base, Avalanche, Sepolia, or MegaETH. Prefer this over ERC20/ERC721 balance endpoints when dealing with semi-fungible or multi-edition NFT tokens (ERC1155 standard).

## Known failure modes

- Invalid wallet address format returns 400 error
- Invalid contract address returns 400 error
- Token ID must be a numeric string — non-numeric values rejected
- Unsupported network name returns validation error
- Contract address that is not an ERC1155 contract may return 0 or RPC error
- RPC node unavailability causes 503 or timeout

## How this service works

ERC1155 token balance via balanceOf (eth_call) - how many copies of a token_id a wallet holds

## Output

Returns the wallet's balance (number of copies held) of the specified ERC1155 token ID, along with the account address, contract address, and token ID echoed back for confirmation.

## Example request

```json
{
 "account": "0x1234567890123456789012345678901234567890",
 "network": "sepolia",
 "contract": "0x0987654321098765432109876543210987654321",
 "token_id": "1"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "account": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$"
  },
  "network": {
   "enum": [
    "ethereum",
    "sepolia",
    "avax",
    "megaeth",
    "megaeth-testnet",
    "base"
   ],
   "type": "string",
   "default": "ethereum"
  },
  "contract": {
   "type": "string",
   "pattern": "^0x[a-fA-F0-9]{40}$"
  },
  "token_id": {
   "type": "string",
   "pattern": "^[0-9]+$"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "meta"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "account",
    "balance",
    "token_id",
    "contract_address"
   ],
   "properties": {
    "account": {
     "type": "string"
    },
    "balance": {
     "type": "string"
    },
    "token_id": {
     "type": "string"
    },
    "contract_address": {
     "type": "string"
    }
   }
  },
  "meta": {
   "type": "object",
   "required": [
    "endpoint",
    "request_id"
   ],
   "properties": {
    "endpoint": {
     "type": "string"
    },
    "request_id": {
     "type": "string"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skills-onesource-io-5a52cfdd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from skills.onesource.io](https://www.zero.xyz/host/skills.onesource.io/llms.txt)
