Trashpanda Base Pre-Sign Policy Conformance
Deterministically evaluates one unsigned Base transaction against the buyer's exact policy and immutable block anchor before signing, returning a replayable clause-by-clause PASS, FAIL, or ESCALATE receipt. No keys, signatures, custody, signing, or broadcast authority are accepted.
- Price
- $0.03 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/pre-sign/conformance- 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",
"required": [
"type",
"version",
"transaction",
"policy",
"anchor",
"evidence",
"receiptProfile"
],
"properties": {
"type": {
"const": "BasePreSignConformanceRequest"
},
"version": {
"const": 1
},
"transaction": {
"type": "object",
"description": "One unsigned Base transaction; credentials, signatures, signed transactions, custody, signing, and broadcast grants are refused."
},
"policy": {
"type": "object",
"description": "The exact deterministic policy clauses to evaluate."
},
"anchor": {
"type": "object",
"description": "One immutable Base block number and hash."
},
"evidence": {
"type": "array",
"description": "Deterministic evidence objects cited by policy clauses."
},
"receiptProfile": {
"const": "full-v1"
}
}
}
}
Example request
{
"method": "POST",
"url": "https://market.561.group/v1/pre-sign/conformance",
"headers": {
"accept": "application/json",
"content-type": "application/json"
},
"body": {
"type": "BasePreSignConformanceRequest",
"version": 1,
"transaction": {
"type": "UnsignedBaseTransaction",
"chainId": 8453,
"sender": "0x1111111111111111111111111111111111111111",
"to": "0x2222222222222222222222222222222222222222",
"valueWei": "0",
"data": "0x",
"gasLimit": "21000",
"nonce": "0"
},
"policy": {
"type": "BasePreSignPolicy",
"version": 1,
"clauses": [
{
"id": "a-chain",
"type": "ChainIdEquals",
"chainId": 8453
}
]
},
"anchor": {
"type": "ImmutableBaseBlockAnchor",
"chainId": 8453,
"blockNumber": "1",
"blockHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"evidence": [],
"receiptProfile": "full-v1"
}
}
Output
{
"schema": {
"type": "object",
"required": [
"id",
"type",
"requestDigest",
"transactionDigest",
"policyDigest",
"chain",
"block",
"anchorAssurance",
"engine",
"clauseResults",
"verdict",
"evidenceReferences",
"evidenceAssurance",
"replay",
"forbiddenEffects"
],
"properties": {
"id": {
"type": "string"
},
"type": {
"const": "BasePreSignPolicyConformanceReceipt"
},
"verdict": {
"enum": [
"PASS",
"FAIL",
"ESCALATE"
]
},
"clauseResults": {
"type": "array"
},
"forbiddenEffects": {
"type": "object"
}
}
},
"example": {
"id": "ni:///sha-256;NYqiNcrA_5bH1ysrXsy7hO0PzeX2NclTFkn85KCfvVk",
"type": "BasePreSignPolicyConformanceReceipt",
"version": 1,
"requestDigest": "ni:///sha-256;a11hNQXJ34rZfGk823_e-4h2EOO-PF6POfwyMceH22Y",
"transactionDigest": "ni:///sha-256;Gv7Dsz1qLH7bADxe1632n4apGzl8x9EHNBrylpXi1UA",
"policyDigest": "ni:///sha-256;KZjmKuiZr5WC3oHkQcG3xQmP0ZqOt22H1dmYTBxaPG0",
"chain": {
"caip2": "eip155:8453",
"chainId": 8453
},
"block": {
"number": "1",
"hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"anchorAssurance": "customer-declared-unverified",
"engine": {
"id": "ni:///sha-256;Hb2S8iZrnwzh6Alj7lo0iYRXy25ByoNwbHi-gwatRhU",
"version": 2
},
"clauseResults": [
{
"clauseId": "a-chain",
"clauseType": "ChainIdEquals",
"disposition": "PASS",
"actual": 8453,
"expected": 8453,
"evidenceReferences": []
}
],
"verdict": "PASS",
"evidenceReferences": [],
"evidenceAssurance": "customer-declared-unverified",
"replay": {
"operation": "evaluateBasePreSignPolicy",
"engineId": "ni:///sha-256;Hb2S8iZrnwzh6Alj7lo0iYRXy25ByoNwbHi-gwatRhU",
"module": "@red-cup-engineering/blockchain-trashpanda@0.1.0",
"export": "evaluateBasePreSignPolicy",
"runtime": "node>=22.18",
"normalizedRequest": {
"type": "BasePreSignConformanceRequest",
"version": 1,
"transaction": {
"type": "UnsignedBaseTransaction",
"chainId": 8453,
"sender": "0x1111111111111111111111111111111111111111",
"to": "0x2222222222222222222222222222222222222222",
"valueWei": "0",
"data": "0x",
"gasLimit": "21000",
"nonce": "0"
},
"policy": {
"type": "BasePreSignPolicy",
"version": 1,
"clauses": [
{
"id": "a-chain",
"type": "ChainIdEquals",
"chainId": 8453
}
]
},
"anchor": {
"type": "ImmutableBaseBlockAnchor",
"chainId": 8453,
"blockNumber": "1",
"blockHa
… (truncated; the full contract is in /v1/catalog)
How to buy with x402
- Send the request without payment. The server answers
402 Payment Requiredwith a base64 JSONPAYMENT-REQUIREDheader holding the amount, asset, network and payee. - Have your wallet sign an EIP-3009
transferWithAuthorizationfor exactly those terms (an x402 client library does this for you). - Repeat the identical request with the signed payload in the
PAYMENT-SIGNATUREheader. - The server verifies, runs the operation, settles, and returns
200with the result and aPAYMENT-RESPONSEheader carrying the settlement receipt.
Read the price without paying
curl --include --request POST --header 'accept: application/json' --header 'content-type: application/json' --data-raw '{"type":"BasePreSignConformanceRequest","version":1,"transaction":{"type":"UnsignedBaseTransaction","chainId":8453,"sender":"0x1111111111111111111111111111111111111111","to":"0x2222222222222222222222222222222222222222","valueWei":"0","data":"0x","gasLimit":"21000","nonce":"0"},"policy":{"type":"BasePreSignPolicy","version":1,"clauses":[{"id":"a-chain","type":"ChainIdEquals","chainId":8453}]},"anchor":{"type":"ImmutableBaseBlockAnchor","chainId":8453,"blockNumber":"1","blockHash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"evidence":[],"receiptProfile":"full-v1"}' --url 'https://market.561.group/v1/pre-sign/conformance'
This request authorizes nothing; it returns the live payment terms. Read the full explanation of x402.
Machine-readable
- /.well-known/x402: x402 discovery document for every offer
- /v1/catalog: full catalog with contracts and examples
- /llms.txt: the market in llms.txt form
- services.561.group: Causeway Services