Compare one logical record declared in two or three of Avro, protobuf and GraphQ
Compare one logical record declared in two or three of Avro, protobuf and GraphQL, and report where the representations disagree. Names are matched with case and underscores set aside, since snake_case and camelCase across these formats is convention rather than disagreement. Reports a field present in one format and not another, a type class mismatch, disagreeing optionality or repeatedness, and enum symbol sets that differ.
Answeringour last check, 2026-10-04
1 of 1checks answered this week
3226 msmedian answer time
$0.25listed price per call
$0.25price it asked us
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.zfinia.com/x402/v1/cross-format-record-crosscheck
| Category | Everything else |
|---|---|
| Provider host | api.zfinia.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-04 | valid payment request | 402 | $0.25 | 3226 ms |
Example input (from the provider)
{
"body": {
"avro": {
"fields": [
{
"name": "order_id",
"type": "string"
},
{
"name": "total_cents",
"type": "long"
},
{
"name": "status",
"type": {
"name": "Status",
"symbols": [
"OPEN",
"CLOSED"
],
"type": "enum"
}
},
{
"default": null,
"name": "note",
"type": [
"null",
"string"
]
}
],
"name": "Order",
"namespace": "shop.v1",
"type": "record"
},
"graphql": "type Query {\n order(id: ID!): Order\n orders(first: Int = 20): [Order!]!\n}\n\ntype Mutation {\n createOrder(input: OrderInput!): Order!\n}\n\nenum Status { OPEN CLOSED }\n\ninput OrderInput {\n status: Status\n note: String\n}\n\ntype Order {\n id: ID!\n status: Status!\n totalCents: Int!\n note: String\n}\n",
"protobuf": "syntax = \"proto3\";\npackage shop.v1;\n\nenum Status {\n STATUS_UNSPECIFIED = 0;\n OPEN = 1;\n CLOSED = 2;\n}\n\nmessage Order {\n string order_id = 1;\n int64 total_cents = 2;\n Status status = 3;\n repeated string tags = 4;\n string note = 5;\n}\n",
"record_name": "Order"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"avro": {
"type": [
"object",
"string"
]
},
"graphql": {
"maxLength": 262144,
"type": "string"
},
"protobuf": {
"maxLength": 262144,
"type": "string"
},
"record_name": {
"maxLength": 256,
"type": "string"
}
},
"required": [],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}