Read the current on-chain JPYC balance of any EVM address on one or all supported chains (
Read the current on-chain JPYC balance of any EVM address on one or all supported chains (Polygon, Kaia, Avalanche, Ethereum), with the token contract and the block number observed at request time. Use before or after a payment, for treasury checks, wallet monitoring, and payment reconciliation. The result does not prove wallet ownership and is not a transaction-finality certificate.
2000 (raw units)
price
2
calls / 30d
1
unique payers
2026-08-23
updated
Provider
open-pay.jp · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x52d4901142e2B5680027da5EB47C86CB02a3cA81",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "2000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"address": "0x52d4901142e2B5680027da5EB47C86CB02a3cA81",
"chain": "polygon"
},
"type": "http"
},
"output": {
"example": {
"address": "0x52d4901142e2B5680027da5EB47C86CB02a3cA81",
"generatedAt": "2026-08-21T04:30:45.340Z",
"items": [
{
"balance": "1000000000000000000000",
"balanceFormatted": "1000",
"blockNumber": "92387745",
"chain": "polygon",
"chainId": 137,
"contract": "0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29",
"status": "ok"
}
],
"notice": "onchain-facts-only",
"schemaVersion": "2.0",
"termsUrl": "https://open-pay.jp/en/terms",
"token": {
"decimals": 18,
"symbol": "JPYC"
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"additionalProperties": false,
"properties": {
"address": {
"description": "EVM address to read the JPYC balance of.",
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"chain": {
"description": "Chain to query. Omit to query all supported chains. Supported values: polygon, kaia, avalanche, ethereum.",
"enum": [
"polygon",
"kaia",
"avalanche",
"ethereum"
],
"type": "string"
}
},
"required": [
"address"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"address": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"generatedAt": {
"format": "date-time",
"type": "string"
},
"items": {
"items": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"balance": {
"description": "Atomic JPYC amount with 18 decimals.",
"pattern": "^[0-9]+$",
"type": "string"
},
"balanceFormatted": {
"pattern": "^[0-9]+(\\.[0-9]+)?$",
"type": "string"
},
"blockNumber": {
"pattern": "^[0-9]+$",
"type": "string"
},
"chain": {
"enum": [
"polygon",
"kaia",
"avalanche",
"ethereum"
],
"type": "string"
},
"chainId": {
"minimum": 1,
"type": "integer"
},
"contract": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"status": {
"const": "ok",
"type": "string"
}
},
"required": [
"chain",
"chainId",
"contract",
"status",
"blockNumber",
"balance",
"balanceFormatted"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"chain": {
"enum": [
"polygon",
"kaia",
"avalanche",
"ethereum"
],
"type": "string"
},
"chainId": {
"minimum": 1,
"type": "integer"
},
"contract": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"errorCode": {
"enum": [
"rpc_unavailable",
"contract_read_failed"
],
"type": "string"
},
"retryable": {
"type": "boolean"
},
"status": {
"const": "unavailable",
"type": "string"
}
},
"required": [
"chain",
"chainId",
"contract",
"status",
"errorCode",
"retryable"
],
"type": "object"
}
]
},
"type": "array"
},
"notice": {
"const": "onchain-facts-only",
"description": "On-chain facts read from public RPC endpoints at request time. Informational only — not financial advice, not an offer, quote or solicitation. Full terms at termsUrl.",
"type": "string"
},
"schemaVersion": {
"const": "2.0",
"type": "string"
},
"termsUrl": {
"format": "uri",
"type": "string"
},
"token": {
"additionalProperties": false,
"properties": {
"decimals": {
"const": 18,
"type": "integer"
},
"symbol": {
"const": "JPYC",
"type": "string"
}
},
"required": [
"symbol",
"decimals"
],
"type": "object"
}
},
"required": [
"schemaVersion",
"token",
"generatedAt",
"notice",
"termsUrl",
"address",
"items"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://open-pay.jp/api/paid/usdc/jpyc/balance" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://open-pay.jp/api/paid/usdc/jpyc/balance");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://open-pay.jp/api/paid/usdc/jpyc/balance")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/7562.json, and this resource appears in /discovery/resources and /discovery/search.