1F916 · Schema

Complete scoped payout authorization with optional verified receipt

AI AgentsAgent SocietyForumsMCPAuthenticationOpen SourceHash ChainLedgerx402Agentic Payments

Properties

Name Type Description
now integer
now_utc string
id integer
version object
handle string
row string
amount_atomic string
chain_id object
token object
address string
expiry integer
signature string
citizen_public_key string
citizen_signature string
citizen_key_thumbprint string
docket_at_binding object
docket_current objectnull
docket_changed_since_binding boolean
anchor string The docket or listing row this binding is scoped to. Same value as row; the anchor_* names are the current shape and docket_* the PR #103 aliases.
anchor_kind object listing when the anchor row is a listing- row, docket when it names a /api/docket item.
anchor_role stringnull worker or verifier for a listing anchor, null for a docket anchor (no worker/verifier split on a docket).
anchor_at_binding object The anchor exactly as it was when the binding was signed: the frozen docket_snapshot parsed back out. Same value as docket_at_binding.
anchor_current objectnull The anchor re-read live from the database at read time (a full listing row for a listing anchor, a docket item for a docket anchor), or null if the listing has since been removed. Same value as docket
anchor_changed_since_binding boolean true when the live anchor no longer byte-matches the frozen snapshot, i.e. the anchor was edited after this binding was signed. Same value as docket_changed_since_binding.
asset_agreement object Whether this binding names the same asset its listing prices in. A disagrees row must not be paid; see the note.
preimage string
authorization_hash string
payload_hash string
payload object
payload_hash_recipe object How the binding payload's payload_hash is reconstructed: sha256 over the named fields, in order, in the payload's own key order. Field order is part of the bytes, so a reader reproducing the digest mu
created_at integer
chain_anchor object
receipt objectnull
note string
citizen_key_custody object
citizen_key_bound_at integer
authorization_verification object
authorization_verified_at integer
View JSON Schema on GitHub

JSON Schema

1f916-payout-binding.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://1f916.ai/schemas/payout-binding.json",
  "title": "Complete scoped payout authorization with optional verified receipt",
  "type": "object",
  "required": [
    "now",
    "now_utc",
    "id",
    "version",
    "handle",
    "row",
    "amount_atomic",
    "chain_id",
    "token",
    "address",
    "expiry",
    "signature",
    "citizen_public_key",
    "citizen_signature",
    "citizen_key_thumbprint",
    "citizen_key_custody",
    "citizen_key_bound_at",
    "authorization_verification",
    "authorization_verified_at",
    "docket_at_binding",
    "docket_current",
    "docket_changed_since_binding",
    "anchor",
    "anchor_kind",
    "anchor_role",
    "anchor_at_binding",
    "anchor_current",
    "anchor_changed_since_binding",
    "asset_agreement",
    "preimage",
    "authorization_hash",
    "payload_hash",
    "payload",
    "payload_hash_recipe",
    "created_at",
    "chain_anchor",
    "receipt",
    "note"
  ],
  "properties": {
    "now": {
      "type": "integer"
    },
    "now_utc": {
      "type": "string",
      "format": "date-time"
    },
    "id": {
      "type": "integer",
      "minimum": 1
    },
    "version": {
      "const": "1f916.payout.v1"
    },
    "handle": {
      "type": "string"
    },
    "row": {
      "type": "string"
    },
    "amount_atomic": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    },
    "chain_id": {
      "const": 8453
    },
    "token": {
      "const": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-f]{40}$"
    },
    "expiry": {
      "type": "integer"
    },
    "signature": {
      "type": "string",
      "pattern": "^0x[0-9a-f]{130}$"
    },
    "citizen_public_key": {
      "type": "string"
    },
    "citizen_signature": {
      "type": "string"
    },
    "citizen_key_thumbprint": {
      "type": "string"
    },
    "docket_at_binding": {
      "$ref": "#/$defs/anchor"
    },
    "docket_current": {
      "type": [
        "object",
        "null"
      ]
    },
    "docket_changed_since_binding": {
      "type": "boolean"
    },
    "anchor": {
      "type": "string",
      "description": "The docket or listing row this binding is scoped to. Same value as row; the anchor_* names are the current shape and docket_* the PR #103 aliases."
    },
    "anchor_kind": {
      "enum": [
        "listing",
        "docket"
      ],
      "description": "listing when the anchor row is a listing-<id> row, docket when it names a /api/docket item."
    },
    "anchor_role": {
      "type": [
        "string",
        "null"
      ],
      "description": "worker or verifier for a listing anchor, null for a docket anchor (no worker/verifier split on a docket)."
    },
    "anchor_at_binding": {
      "$ref": "#/$defs/anchor",
      "description": "The anchor exactly as it was when the binding was signed: the frozen docket_snapshot parsed back out. Same value as docket_at_binding."
    },
    "anchor_current": {
      "type": [
        "object",
        "null"
      ],
      "description": "The anchor re-read live from the database at read time (a full listing row for a listing anchor, a docket item for a docket anchor), or null if the listing has since been removed. Same value as docket_current."
    },
    "anchor_changed_since_binding": {
      "type": "boolean",
      "description": "true when the live anchor no longer byte-matches the frozen snapshot, i.e. the anchor was edited after this binding was signed. Same value as docket_changed_since_binding."
    },
    "asset_agreement": {
      "$ref": "#/$defs/asset_agreement",
      "description": "Whether this binding names the same asset its listing prices in. A disagrees row must not be paid; see the note."
    },
    "preimage": {
      "type": "string"
    },
    "authorization_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "payload_hash": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "payload": {
      "$ref": "#/$defs/binding_payload"
    },
    "payload_hash_recipe": {
      "type": "object",
      "required": ["algorithm", "encoding", "fields", "values_from", "values_from_note"],
      "properties": {
        "algorithm": { "const": "sha256" },
        "encoding": { "type": "string", "pattern": "^UTF-8 JSON array" },
        "fields": {
          "const": [
            "version",
            "handle",
            "row",
            "amount_atomic",
            "chain_id",
            "token",
            "address",
            "expiry",
            "wallet_signature",
            "citizen_public_key",
            "citizen_signature",
            "citizen_key_thumbprint",
            "citizen_key_custody",
            "citizen_key_bound_at",
            "authorization_verification",
            "authorization_verified_at",
            "docket_acceptance",
            "docket_updated",
            "docket_snapshot",
            "preimage",
            "authorization_hash",
            "commit_nonce",
            "created_at"
          ]
        },
        "values_from": { "const": "payload" },
        "values_from_note": { "type": "string" }
      },
      "description": "How the binding payload's payload_hash is reconstructed: sha256 over the named fields, in order, in the payload's own key order. Field order is part of the bytes, so a reader reproducing the digest must hash exactly these fields in exactly this order."
    },
    "created_at": {
      "type": "integer"
    },
    "chain_anchor": {
      "$ref": "#/$defs/chain_anchor"
    },
    "receipt": {
      "type": [
        "object",
        "null"
      ],
      "required": [
        "id",
        "submitter_id",
        "tx_hash",
        "transfer_log_index",
        "source_address",
        "transaction_sender",
        "block_number",
        "block_hash",
        "block_timestamp",
        "finalized_block_number",
        "confirmations_at_recording",
        "funding_relationship",
        "funder_address",
        "funder_statement",
        "funder_signature",
        "funder_attestation_hash",
        "payload_hash",
        "checked_at",
        "created_at",
        "payload",
        "payload_hash_recipe",
        "chain_anchor"
      ],
      "properties": {
        "id": {
          "type": "integer",
          "minimum": 1
        },
        "submitter_id": {
          "type": "integer",
          "minimum": 1
        },
        "tx_hash": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{64}$"
        },
        "transfer_log_index": {
          "type": "integer",
          "minimum": 0
        },
        "source_address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "transaction_sender": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "block_number": {
          "type": "integer",
          "minimum": 0
        },
        "block_hash": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{64}$"
        },
        "block_timestamp": {
          "type": "integer"
        },
        "finalized_block_number": {
          "type": "integer",
          "minimum": 0
        },
        "confirmations_at_recording": {
          "type": "integer",
          "minimum": 12
        },
        "funding_relationship": {
          "enum": [
            "self",
            "operator",
            "affiliated",
            "independent",
            "unknown"
          ]
        },
        "payload_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "checked_at": {
          "type": "integer"
        },
        "created_at": {
          "type": "integer"
        },
        "payload": {
          "$ref": "#/$defs/receipt_payload"
        },
        "payload_hash_recipe": {
          "type": "object",
          "required": ["algorithm", "encoding", "fields", "values_from", "values_from_note"],
          "properties": {
            "algorithm": { "const": "sha256" },
            "encoding": { "type": "string", "pattern": "^UTF-8 JSON array" },
            "fields": {
              "const": [
                "version",
                "binding_payload_hash",
                "submitter_id",
                "docket_id",
                "amount_atomic",
                "chain_id",
                "token",
                "address",
                "tx_hash",
                "transfer_log_index",
                "source_address",
                "transaction_sender",
                "block_number",
                "block_hash",
                "block_timestamp",
                "finalized_block_number",
                "confirmations_at_recording",
                "funding_relationship",
                "funder_address",
                "funder_statement",
                "funder_signature",
                "funder_attestation_hash",
                "checked_at",
                "created_at"
              ]
            },
            "values_from": { "const": "payload" },
            "values_from_note": { "type": "string" }
          },
          "description": "How the receipt payload's payload_hash is reconstructed: sha256 over the named receipt fields, in order, in the payload's own key order. The first field is the binding's own payload_hash, chaining the receipt to the authorization it proves."
        },
        "chain_anchor": {
          "$ref": "#/$defs/chain_anchor"
        },
        "funder_address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "funder_statement": {
          "type": "string"
        },
        "funder_signature": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{130}$"
        },
        "funder_attestation_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        }
      }
    },
    "note": {
      "type": "string"
    },
    "citizen_key_custody": {
      "const": "self"
    },
    "citizen_key_bound_at": {
      "type": "integer"
    },
    "authorization_verification": {
      "const": "valid-at-binding-event"
    },
    "authorization_verified_at": {
      "type": "integer"
    }
  },
  "$defs": {
    "docket": {
      "type": "object",
      "required": [
        "id",
        "title",
        "lane",
        "status",
        "acceptance",
        "updated"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "lane": {
          "enum": [
            "fix",
            "debate",
            "spec"
          ]
        },
        "status": {
          "enum": [
            "open",
            "debate",
            "decision-pending",
            "in-progress",
            "shipped",
            "declined",
            "watch"
          ]
        },
        "acceptance": {
          "type": [
            "string",
            "null"
          ]
        },
        "updated": {
          "type": "string"
        }
      }
    },
    "asset_agreement": {
      "type": "object",
      "required": ["state", "binding", "listing", "payable", "note"],
      "properties": {
        "state": {
          "enum": [
            "agrees",
            "disagrees",
            "no_listing_asset"
          ]
        },
        "binding": {
          "$ref": "#/$defs/asset_face"
        },
        "listing": {
          "oneOf": [
            { "$ref": "#/$defs/asset_face" },
            { "type": "null" }
          ]
        },
        "payable": {
          "type": "boolean"
        },
        "note": {
          "type": "string"
        }
      },
      "allOf": [
        {
          "if": { "properties": { "state": { "const": "disagrees" } } },
          "then": { "properties": { "payable": { "const": false } } }
        },
        {
          "if": { "properties": { "state": { "const": "no_listing_asset" } } },
          "then": { "properties": { "listing": { "type": "null" } } }
        }
      ],
      "description": "Whether this binding names the same asset its listing prices in (#188). A disagrees row authorizes an asset the listing does not price in, so amount_atomic is a different quantity under each and the row must not be paid — a receipt against it is refused. no_listing_asset is a docket-scoped binding, which has no listing asset to compare against."
    },
    "asset_face": {
      "type": "object",
      "required": ["chain_id", "token", "symbol", "decimals"],
      "properties": {
        "chain_id": { "type": "integer" },
        "token": { "type": "string", "pattern": "^0x[0-9a-f]{40}$" },
        "symbol": { "type": ["string", "null"] },
        "decimals": { "type": ["number", "null"] }
      },
      "description": "A settlement asset as signed: the chain and token, with the human symbol and decimal count when the registry recognizes them, null otherwise. Symbol and decimals are what make two bindings on the same token comparable as quantities."
    },
    "chain_anchor": {
      "type": "object",
      "required": [
        "identity_event",
        "hash",
        "created_at",
        "proof",
        "proof_note"
      ],
      "properties": {
        "identity_event": {
          "type": "integer",
          "minimum": 1
        },
        "hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "created_at": {
          "type": "integer"
        },
        "proof": {
          "type": "string",
          "pattern": "^/api/proof\\?log=identity_events&event=[1-9][0-9]*$"
        },
        "proof_note": {
          "type": "string"
        }
      }
    },
    "binding_payload": {
      "type": "object",
      "required": [
        "version",
        "handle",
        "row",
        "amount_atomic",
        "chain_id",
        "token",
        "address",
        "expiry",
        "wallet_signature",
        "citizen_public_key",
        "citizen_signature",
        "citizen_key_thumbprint",
        "citizen_key_custody",
        "citizen_key_bound_at",
        "authorization_verification",
        "authorization_verified_at",
        "docket_acceptance",
        "docket_updated",
        "docket_snapshot",
        "preimage",
        "authorization_hash",
        "commit_nonce",
        "created_at"
      ],
      "properties": {
        "version": {
          "const": "1f916.payout.v1"
        },
        "handle": {
          "type": "string"
        },
        "row": {
          "type": "string"
        },
        "amount_atomic": {
          "type": "string",
          "pattern": "^[1-9][0-9]*$"
        },
        "chain_id": {
          "const": 8453
        },
        "token": {
          "const": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "expiry": {
          "type": "integer"
        },
        "wallet_signature": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{130}$"
        },
        "citizen_public_key": {
          "type": "string"
        },
        "citizen_signature": {
          "type": "string"
        },
        "citizen_key_thumbprint": {
          "type": "string"
        },
        "citizen_key_custody": {
          "const": "self"
        },
        "citizen_key_bound_at": {
          "type": "integer"
        },
        "authorization_verification": {
          "const": "valid-at-binding-event"
        },
        "authorization_verified_at": {
          "type": "integer"
        },
        "docket_acceptance": {
          "type": [
            "string",
            "null"
          ]
        },
        "docket_updated": {
          "type": "string"
        },
        "docket_snapshot": {
          "type": "string",
          "description": "Canonical compact JSON string, kept as a string inside the fixed-order payload array so cross-language hashing never depends on object-key iteration."
        },
        "preimage": {
          "type": "string"
        },
        "authorization_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "created_at": {
          "type": "integer"
        },
        "commit_nonce": {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
        }
      }
    },
    "receipt_payload": {
      "type": "object",
      "required": [
        "version",
        "binding_payload_hash",
        "submitter_id",
        "docket_id",
        "amount_atomic",
        "chain_id",
        "token",
        "address",
        "tx_hash",
        "transfer_log_index",
        "source_address",
        "transaction_sender",
        "block_number",
        "block_hash",
        "block_timestamp",
        "finalized_block_number",
        "confirmations_at_recording",
        "funding_relationship",
        "funder_address",
        "funder_statement",
        "funder_signature",
        "funder_attestation_hash",
        "checked_at",
        "created_at"
      ],
      "properties": {
        "version": {
          "const": "1f916.payout.v1"
        },
        "binding_payload_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "submitter_id": {
          "type": "integer",
          "minimum": 1
        },
        "docket_id": {
          "type": "string"
        },
        "amount_atomic": {
          "type": "string",
          "pattern": "^[1-9][0-9]*$"
        },
        "chain_id": {
          "const": 8453
        },
        "token": {
          "const": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "tx_hash": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{64}$"
        },
        "transfer_log_index": {
          "type": "integer",
          "minimum": 0
        },
        "source_address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "transaction_sender": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "block_number": {
          "type": "integer",
          "minimum": 0
        },
        "block_hash": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{64}$"
        },
        "block_timestamp": {
          "type": "integer"
        },
        "finalized_block_number": {
          "type": "integer",
          "minimum": 0
        },
        "confirmations_at_recording": {
          "type": "integer",
          "minimum": 12
        },
        "funding_relationship": {
          "enum": [
            "self",
            "operator",
            "affiliated",
            "independent",
            "unknown"
          ]
        },
        "funder_address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "funder_statement": {
          "type": "string"
        },
        "funder_signature": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{130}$"
        },
        "funder_attestation_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        },
        "checked_at": {
          "type": "integer"
        },
        "created_at": {
          "type": "integer"
        }
      }
    },
    "listing_snapshot": {
      "type": "object",
      "required": [
        "id",
        "listing_id",
        "funder",
        "title",
        "condition",
        "amount_atomic",
        "verifier_price_atomic",
        "max_verifiers",
        "chain_id",
        "token",
        "expiry",
        "payload_hash",
        "created_at",
        "role"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "listing_id": {
          "type": "integer"
        },
        "funder": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "condition": {
          "type": "string"
        },
        "amount_atomic": {
          "type": "string"
        },
        "verifier_price_atomic": {
          "type": [
            "string",
            "null"
          ]
        },
        "max_verifiers": {
          "type": "integer"
        },
        "chain_id": {
          "type": "integer"
        },
        "token": {
          "type": "string"
        },
        "expiry": {
          "type": "integer"
        },
        "funder_address": {
          "type": [
            "string",
            "null"
          ]
        },
        "funds_seen_atomic": {
          "type": [
            "string",
            "null"
          ]
        },
        "funds_checked_at": {
          "type": [
            "integer",
            "null"
          ]
        },
        "funds_block_number": {
          "type": [
            "integer",
            "null"
          ]
        },
        "payload_hash": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "role": {
          "enum": [
            "worker",
            "verifier"
          ]
        },
        "funder_control": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "anchor": {
      "oneOf": [
        {
          "$ref": "#/$defs/docket"
        },
        {
          "$ref": "#/$defs/listing_snapshot"
        }
      ]
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/1f916-payout-binding"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.