561 Group Market

SEN Type Inference

The one Semiotic Expression Notation type of a closed SEN term, with the content address of the (term, type) judgment; open, malformed and untypable terms are refused before payment.

Price
$0.01 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/infer-type
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",
    "properties": {
      "term": {
        "type": "array"
      }
    },
    "required": [
      "term"
    ]
  }
}

Example request

{
  "method": "POST",
  "url": "https://market.561.group/v1/sen/infer-type",
  "headers": {
    "accept": "application/json",
    "content-type": "application/json"
  },
  "body": {
    "term": [
      "pair",
      [
        "mark",
        "\"a\""
      ],
      [
        "mark",
        "\"b\""
      ]
    ]
  }
}

Output

{
  "schema": {
    "type": "object",
    "properties": {
      "type": {
        "const": "SenTypeInference"
      },
      "term": {},
      "inferredType": {},
      "id": {
        "type": "string"
      }
    },
    "required": [
      "type",
      "inferredType",
      "id"
    ]
  },
  "example": {
    "type": "SenTypeInference",
    "term": [
      "pair",
      [
        "mark",
        "\"a\""
      ],
      [
        "mark",
        "\"b\""
      ]
    ],
    "inferredType": [
      "prod",
      [
        "base"
      ],
      [
        "base"
      ]
    ],
    "id": "ni:///sha-256;s_rCrV2uuFN07J4dUGU6zV7jxd6vIuzZzIlU0DZaYZ4"
  }
}

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 '{"term":["pair",["mark","\"a\""],["mark","\"b\""]]}' --url 'https://market.561.group/v1/sen/infer-type'

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

Machine-readable