561 Group Market

SEN Predicate

Generate the SignGraph predication site a SignCell generates.

Price
$0.005 USDC per request
Network
Base mainnet, eip155:8453, settled in USDC through the Coinbase CDP facilitator
Method and URL
POST https://market.561.group/v1/sen/predicate
Response type
application/json
Seller
Causeway Services (561 Group)

Input contract

Input that fails this contract is refused with a 4xx status before any payment is requested.

{
  "maxBytes": 102400,
  "bodySchema": {
    "type": "object",
    "$id": "https://schemas.561.group/signcell/cell.schema.json",
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "description": "An ordered (subject, predicate, object) triple with the witnesses told for and against it, and its value when that is not what the witnesses show.",
    "properties": {
      "against": {
        "type": "array",
        "uniqueItems": true
      },
      "for": {
        "type": "array",
        "uniqueItems": true
      },
      "object": {},
      "predicate": {},
      "subject": {},
      "value": {
        "enum": [
          "absurd",
          "potential",
          "active",
          "stable"
        ]
      }
    },
    "required": [
      "subject",
      "predicate",
      "object",
      "for",
      "against"
    ],
    "title": "SignCell"
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/sen/predicate",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "against": [],
    "for": [
      "my-token"
    ],
    "object": "my-token",
    "predicate": "the claim text",
    "subject": "my-token"
  }
}

Output

{
  "schema": {
    "$id": "relating/articulating/predicating/predication-site",
    "additionalProperties": true,
    "description": "A SignGraph predication site: the cells told, their entities and predicates, and specializations.",
    "properties": {
      "kind": {
        "const": "signgraph.site"
      }
    },
    "required": [
      "kind"
    ],
    "title": "PredicationSite",
    "type": "object"
  },
  "example": {
    "base": {
      "converse": [
        {
          "codomain": [
            "my-token",
            "the claim text",
            "my-token"
          ],
          "domain": [
            "my-token",
            "the claim text",
            "my-token"
          ]
        }
      ],
      "kind": "signgraph.base",
      "objectProjection": [
        {
          "codomain": "my-token",
          "domain": [
            "my-token",
            "the claim text",
            "my-token"
          ]
        }
      ],
      "objects": [
        {
          "sort": "entity",
          "term": "my-token"
        },
        {
          "sort": "predicate",
          "term": "the claim text"
        }
      ],
      "specialization": [],
      "subjectProjection": [
        {
          "codomain": "my-token",
          "domain": [
            "my-token",
            "the claim text",
            "my-token"
          ]
        }
      ]
    },
    "cells": [
      {
        "object": "my-token",
        "predicate": "the claim text",
        "subject": "my-token"
      }
    ],
    "entities": [
      "my-token"
    ],
    "kind": "signgraph.site",
    "predicates": [
      "the claim text"
    ],
    "specializations": []
  }
}

How to buy with x402

  1. Send the request without payment. The server answers 402 Payment Required with a base64 JSON PAYMENT-REQUIRED header holding the amount, asset, network and payee.
  2. Have your wallet sign an EIP-3009 transferWithAuthorization for exactly those terms (an x402 client library does this for you).
  3. Repeat the identical request with the signed payload in the PAYMENT-SIGNATURE header.
  4. The server verifies, runs the operation, settles, and returns 200 with the result and a PAYMENT-RESPONSE header carrying the settlement receipt.

Read the price without paying

curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"against":[],"for":["my-token"],"object":"my-token","predicate":"the claim text","subject":"my-token"}' --url 'https://market.561.group/v1/sen/predicate'

This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.

Machine-readable