mirrored listing x402 eip155:8453

List recent JPYC Transfer events on one supported chain from roughly the last hour of bloc

List recent JPYC Transfer events on one supported chain from roughly the last hour of blocks, optionally filtered by address — tx hash, from, to, amount, block. Without a cursor: newest first. With a cursor: only events after that position, oldest first, so each observed event is returned once within the scanned window. Use to confirm a recent JPYC payment or monitor wallet activity. Not for history beyond the window, sanctions screening, identity, or finality proof.

Do you run open-pay.jp? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
5000 (raw units)
price
6
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": "5000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "method": "GET",
        "queryParams": {
          "chain": "polygon",
          "limit": "20"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "chain": "polygon",
          "chainId": 137,
          "contract": "0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29",
          "fromBlock": "92385945",
          "generatedAt": "2026-08-21T04:30:45.340Z",
          "hasMore": false,
          "items": [
            {
              "blockNumber": "92387695",
              "from": "0x13FE0A65D0aA7641B44D1AF17ECE4b41cEbB1880",
              "logIndex": 286,
              "to": "0xB808AF91bDc577BFb3f9c91470f3286dd076e5C1",
              "txHash": "0xcae3af66168483e5905709cfc8f7cc0162f5234b9c456905df8ab4917b6f8c39",
              "value": "600000000000000000000000",
              "valueFormatted": "600000"
            }
          ],
          "mode": "snapshot",
          "nextCursor": "92387695:286",
          "notice": "onchain-facts-only",
          "schemaVersion": "2.2",
          "termsUrl": "https://open-pay.jp/en/terms",
          "toBlock": "92387745",
          "token": {
            "decimals": 18,
            "symbol": "JPYC"
          },
          "truncated": false
        },
        "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": "Only transfers where this address is the sender or the recipient.",
                  "pattern": "^0x[a-fA-F0-9]{40}$",
                  "type": "string"
                },
                "chain": {
                  "description": "Chain to scan. Supported values: polygon, kaia, avalanche, ethereum.",
                  "enum": [
                    "polygon",
                    "kaia",
                    "avalanche",
                    "ethereum"
                  ],
                  "type": "string"
                },
                "cursor": {
                  "description": "The nextCursor value from a previous response (\"<block>:<logIndex>\"). Returns only transfers newer than that position, oldest first (mode=delta), so repeated calls pay only for new events and return each observed event once within the scanned window, assuming stable chain history; continue with nextCursor while hasMore is true.",
                  "pattern": "^[0-9]+:(?:-1|[0-9]+)$",
                  "type": "string"
                },
                "limit": {
                  "default": "20",
                  "description": "Maximum number of transfer events to return, newest first (1-100). This is not a page number.",
                  "pattern": "^(?:[1-9]|[1-9][0-9]|100)$",
                  "type": "string"
                }
              },
              "required": [
                "chain"
              ],
              "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": {
                "chain": {
                  "enum": [
                    "polygon",
                    "kaia",
                    "avalanche",
                    "ethereum"
                  ],
                  "type": "string"
                },
                "chainId": {
                  "minimum": 1,
                  "type": "integer"
                },
                "contract": {
                  "pattern": "^0x[a-fA-F0-9]{40}$",
                  "type": "string"
                },
                "fromBlock": {
                  "pattern": "^[0-9]+$",
                  "type": "string"
                },
                "generatedAt": {
                  "format": "date-time",
                  "type": "string"
                },
                "hasMore": {
                  "description": "delta: more events exist after the returned ones — call again with nextCursor to continue. snapshot: older events in the window were omitted and are NOT retrievable via nextCursor (it starts after the newest returned event).",
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "blockNumber": {
                        "pattern": "^[0-9]+$",
                        "type": "string"
                      },
                      "from": {
                        "pattern": "^0x[a-fA-F0-9]{40}$",
                        "type": "string"
                      },
                      "logIndex": {
                        "minimum": 0,
                        "type": "integer"
                      },
                      "to": {
                        "pattern": "^0x[a-fA-F0-9]{40}$",
                        "type": "string"
                      },
                      "txHash": {
                        "pattern": "^0x[a-fA-F0-9]{64}$",
                        "type": "string"
                      },
                      "value": {
                        "description": "Atomic JPYC amount with 18 decimals.",
                        "pattern": "^[0-9]+$",
                        "type": "string"
                      },
                      "valueFormatted": {
                        "pattern": "^[0-9]+(\\.[0-9]+)?$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "blockNumber",
                      "txHash",
                      "logIndex",
                      "from",
                      "to",
                      "value",
                      "valueFormatted"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "mode": {
                  "description": "snapshot = no cursor was supplied; items are newest first. delta = a cursor was supplied; items are the events after that position, oldest first.",
                  "enum": [
                    "snapshot",
                    "delta"
                  ],
                  "type": "string"
                },
                "nextCursor": {
                  "description": "Pass as the cursor query parameter on the next call to receive only transfers newer than this response (\"<block>:<logIndex>\"). In snapshot mode this is where monitoring starts (after the newest returned event). Never moves backwards relative to the cursor you supplied.",
                  "pattern": "^[0-9]+:(?:-1|[0-9]+)$",
                  "type": "string"
                },
                "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.2",
                  "type": "string"
                },
                "termsUrl": {
                  "format": "uri",
                  "type": "string"
                },
                "toBlock": {
                  "pattern": "^[0-9]+$",
                  "type": "string"
                },
                "token": {
                  "additionalProperties": false,
                  "properties": {
                    "decimals": {
                      "const": 18,
                      "type": "integer"
                    },
                    "symbol": {
                      "const": "JPYC",
                      "type": "string"
                    }
                  },
                  "required": [
                    "symbol",
                    "decimals"
                  ],
                  "type": "object"
                },
                "truncated": {
                  "description": "true when the supplied cursor is older than the scanned block window; events between the cursor and fromBlock were not scanned.",
                  "type": "boolean"
                }
              },
              "required": [
                "schemaVersion",
                "token",
                "generatedAt",
                "notice",
                "termsUrl",
                "chain",
                "chainId",
                "contract",
                "fromBlock",
                "toBlock",
                "mode",
                "nextCursor",
                "hasMore",
                "truncated",
                "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/transfers"
# -> 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/transfers");
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/transfers")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/7561.json, and this resource appears in /discovery/resources and /discovery/search.