MCPサーバー

InterAI Risk Oracle

io.github.InterAILabs/ai-risk-oracle
セキュリティ 公開・接続可能 MCP 2026-07-28

このMCPでできること

Evaluates proposed autonomous actions against policy before execution and creates verifiable trust receipts without executing the actions.

oracle.agent_card
A2A Agent Card
Read-only A2A Agent Card with agent identity, security scheme, capabilities, and skills. Use it when selecting or integrating InterAI through A2A; use oracle.service_descriptor for general service metadata or oracle.discovery_bundle for complete bootstrap context.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['name', 'description', 'url', 'version', 'capabilities', 'skills'], 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}, 'skills': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'version': {'type': 'string'}, 'provider': {'type': 'object', 'additionalProperties': True}, 'security': {'type': 'array'}, 'description': {'type': 'string'}, 'capabilities': {'type': 'object', 'additionalProperties': True}, 'securitySchemes': {'type': 'object', 'additionalProperties': True}, 'documentationUrl': {'type': 'string'}, 'defaultInputModes': {'type': 'array', 'items': {'type': 'string'}}, 'defaultOutputModes': {'type': 'array', 'items': {'type': 'string'}}}, 'description': 'InterAI A2A Agent Card returned as machine-readable JSON.', 'additionalProperties': True}
oracle.discovery_bundle
Discovery Bundle
Read-only bootstrap or handoff bundle with service identity, interfaces, runtime mode, contracts, schemas, and sample payloads in one response. Use it for complete integration context; use oracle.service_descriptor for focused service metadata, oracle.agent_card for A2A capabilities, or oracle.get_pricing for costs.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['name', 'service', 'runtime', 'discovery', 'interfaces', 'samples'], 'properties': {'name': {'type': 'string'}, 'runtime': {'type': 'object', 'additionalProperties': True}, 'samples': {'type': 'object', 'additionalProperties': True}, 'service': {'type': 'object', 'additionalProperties': True}, 'discovery': {'type': 'object', 'additionalProperties': True}, 'interfaces': {'type': 'object', 'additionalProperties': True}}, 'description': 'Complete machine-readable InterAI integration bundle for bootstrap and handoff.', 'additionalProperties': True}
oracle.get_pricing
Get Pricing
Read-only public metadata for costs, trial availability, idempotency, and top-up or payment paths. Use it before budgeting or onboarding; it does not evaluate risk or create a trust receipt.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['model', 'currency', 'chain', 'unit', 'protocols', 'auth', 'verify', 'verify_batch', 'topup', 'trial', 'demo', 'idempotency'], 'properties': {'auth': {'type': 'object', 'additionalProperties': True}, 'demo': {'type': 'object', 'additionalProperties': True}, 'unit': {'type': 'string'}, 'chain': {'type': 'string'}, 'model': {'type': 'string'}, 'topup': {'type': 'object', 'additionalProperties': True}, 'trial': {'type': 'object', 'additionalProperties': True}, 'verify': {'type': 'object', 'additionalProperties': True}, 'currency': {'type': 'string'}, 'protocols': {'type': 'object', 'additionalProperties': True}, 'idempotency': {'type': 'object', 'additionalProperties': True}, 'verify_batch': {'type': 'object', 'additionalProperties': True}}, 'description': 'Current public InterAI pricing, onboarding, x402, top-up, trial, and idempotency metadata.', 'additionalProperties': True}
oracle.get_trust_receipt
Get Trust Receipt
Read-only lookup of the canonical public representation and signature metadata for a trust receipt that already exists. Supply receipt_id. It does not create or re-run a decision; use oracle.verify_trust_receipt_signature when the goal is signature validation.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['receipt_id'], 'properties': {'receipt_id': {'type': 'string', 'description': 'Identifier of the existing InterAI trust receipt whose canonical public representation and signature metadata should be returned.'}}, 'description': 'Lookup input for a trust receipt that already exists in InterAI.', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['ok', 'receipt', 'verification', 'trust'], 'properties': {'ok': {'type': 'boolean'}, 'trust': {'type': 'object', 'required': ['domain', 'trust_score', 'risk_level', 'confidence_band'], 'properties': {'domain': {'type': 'string'}, 'risk_level': {'type': 'string'}, 'trust_score': {'type': 'number'}, 'confidence_band': {'type': 'string'}}, 'additionalProperties': True}, 'receipt': {'type': 'object', 'required': ['receipt_id', 'issued_at', 'request_hash'], 'properties': {'issued_at': {'type': 'string'}, 'receipt_id': {'type': 'string'}, 'request_hash': {'type': 'string'}, 'decision_basis': {'type': 'object', 'additionalProperties': True}, 'oracle_version': {'type': 'string'}, 'signals_version': {'type': 'string'}}, 'additionalProperties': True}, 'verification': {'type': 'object', 'required': ['signed', 'signature', 'signature_alg'], 'properties': {'signed': {'type': 'boolean'}, 'signature': {'type': ['string', 'null']}, 'signature_alg': {'type': ['string', 'null']}}, 'additionalProperties': True}}, 'description': 'Canonical public representation, signature metadata, and trust fields for an existing InterAI receipt.', 'additionalProperties': True}
oracle.service_descriptor
Service Descriptor
Read-only general service descriptor with identity, endpoints, billing, trust, and supported agent protocols. Use it to inspect service-level integration metadata; use oracle.agent_card for A2A skills or oracle.discovery_bundle for the complete bootstrap package.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['name', 'id', 'version', 'description', 'discovery', 'endpoints', 'billing', 'agent_protocols'], 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'billing': {'type': 'object', 'additionalProperties': True}, 'version': {'type': 'string'}, 'discovery': {'type': 'object', 'additionalProperties': True}, 'endpoints': {'type': 'object', 'additionalProperties': True}, 'description': {'type': 'string'}, 'agent_protocols': {'type': 'object', 'additionalProperties': True}}, 'description': 'Focused InterAI service-level metadata covering identity, endpoints, billing, trust, and agent protocols.', 'additionalProperties': True}
oracle.verify_autonomous_action
Verify Autonomous Action
Primary tool for one concrete proposed autonomous action before it executes. This authenticated prepaid verification may consume account balance and records a signed trust receipt; InterAI evaluates the proposal but does not execute or modify the proposed external action. Reuse idempotency_key only when retrying the same logical request to avoid duplicate billing. Returns allow, review_required, or block with policy signals. Use oracle.verify_batch for multiple independent items and oracle.verify_response only for legacy prompt/response compatibility.
入力スキーマ
{'type': 'object', 'required': ['use_case', 'action'], 'properties': {'mode': {'enum': ['fast_heuristic', 'semantic_judge'], 'type': 'string', 'description': 'Verification mode. Use fast_heuristic for the default low-latency path or semantic_judge when a semantic model judgment is explicitly required.'}, 'action': {'type': 'object', 'properties': {'type': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-canonical-action/v1'}, 'tool_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'resource': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'arguments': {'type': 'object'}, 'operation': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'destination': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'irreversible': {'type': 'boolean'}, 'external_side_effect': {'type': 'boolean'}}, 'description': 'The proposed action. For executable pilot authorization use interai-canonical-action/v1 with host-registry tool_id, type, operation, exact arguments, and explicit side-effect semantics.', 'additionalProperties': True}, 'domain': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Optional domain label used to provide verification context. It does not replace the exact action, context, or policy inputs.'}, 'policy': {'type': 'object', 'properties': {'max_risk_level': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'amount_usd_limit': {'type': 'number', 'minimum': 0}, 'allowed_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'blocked_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'require_trust_receipt': {'type': 'boolean'}, 'require_human_review_above': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'allowed_action_types_enforced': {'type': 'boolean'}, 'require_user_confirmation_for_irreversible': {'type': 'boolean'}}, 'description': 'Optional strictly validated caller-scoped restrictions. They may tighten the boundary but cannot weaken host or account policy.', 'additionalProperties': False}, 'context': {'type': 'object', 'description': 'Optional runtime context surrounding the proposed action, such as environment, agent identity, counterparty, user confirmation, or other facts relevant to this decision.', 'additionalProperties': True}, 'use_case': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Stable identifier describing why the exact autonomous action is being proposed. Required together with action for the autonomous_execution contract.'}, 'idempotency_key': {'type': 'string', 'pattern': '^\\s*[A-Za-z0-9._:-]+\\s*$', 'maxLength': 200, 'minLength': 1, 'description': 'Stable caller-provided key for retrying the same billed verification without duplicating the economic operation. Reuse it only for the same logical request.'}, 'execution_context': {'type': 'object', 'required': ['schema', 'workspace_id', 'environment'], 'properties': {'run_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-host-execution-context/v1'}, 'actor_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'environment': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'workspace_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}}, 'description': 'Host-attested execution context bound to a canonical action. InterAI authenticates the account, not the truth of host-provided workspace, actor, run, or environment values.', 'additionalProperties': False}, 'external_evidence': {'type': 'array', 'items': {'$id': 'external-evidence/v0/rev6', 'type': 'object', 'title': 'external-evidence/v0 (rev6) wire item', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['evidence_id', 'provider', 'assertion', 'validity', 'binding', 'verification'], 'properties': {'binding': {'type': 'object', 'required': ['scope', 'binding_mode', 'action_commitment'], 'properties': {'scope': {'enum': ['action'], 'type': 'string', 'description': 'v0 supports action scope only; subject scope is reserved with subject_only'}, 'binding_mode': {'enum': ['exact_action'], 'type': 'string', 'description': 'the only supported v0 binding mode. subject_only and order_insensitive are reserved and rejected on the wire.'}, 'action_commitment': {'type': 'object', 'required': ['scheme', 'type', 'commitment', 'committed_fields'], 'properties': {'type': {'type': 'string', 'description': 'pinned locally per provider profile (eip712)'}, 'scheme': {'type': 'string', 'description': 'pinned locally per provider profile (insight.canonical-pre-trade-request/v1)'}, 'commitment': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'must equal the signed requestHash'}, 'committed_fields': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'the field list is pinned locally per provider profile', 'uniqueItems': True}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'provider': {'type': 'object', 'required': ['namespace', 'assertion_version', 'key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'must equal the locally pinned key id'}, 'namespace': {'type': 'string', 'description': 'resolved against the local provider adapter / trust registry'}, 'assertion_version': {'type': 'string', 'description': 'must equal the locally configured profile version'}}, 'additionalProperties': False}, 'validity': {'type': 'object', 'required': ['evaluated_at', 'valid_until'], 'properties': {'valid_until': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed validUntil; expiry is enforced on the signed payload, never this projection'}, 'evaluated_at': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed checkedAt'}}, 'additionalProperties': False}, 'assertion': {'type': 'object', 'required': ['kind', 'verdict', 'verdict_space'], 'properties': {'kind': {'enum': ['assessment', 'observation'], 'type': 'string', 'description': 'semantics pinned locally per provider profile'}, 'verdict': {'type': 'string', 'description': 'provider-native verdict, must equal the signed verdict'}, 'observations': {'type': 'object', 'required': ['coverage_status', 'participant_count', 'required_participant_count', 'cross_provider_deviation_bps', 'cross_provider_agreement_bps', 'independence_status', 'max_data_age_seconds'], 'properties': {'coverage_status': {'type': 'string'}, 'participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'independence_status': {'type': 'string'}, 'max_data_age_seconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'required_participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_agreement_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_deviation_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'optional on the wire; if present it must equal the signed projection field by field (compared with structural/JCS equality, not order-sensitive JSON.stringify)', 'additionalProperties': False}, 'verdict_space': {'type': 'string', 'description': 'the scale namespace, pinned locally per provider profile'}}, 'additionalProperties': False}, 'evidence_id': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'provider canonical digest as claimed by the caller; InterAI recomputes it from the verified signed assertion and a mismatch is NOT_ALLOWED.'}, 'verification': {'type': 'object', 'oneOf': [{'type': 'object', 'required': ['mode', 'attestation_ref'], 'properties': {'mode': {'const': 'reference'}, 'attestation_ref': {'type': 'string', 'description': 'resolved through the locally configured adapter / allowlisted origin; a URL in evidence never triggers arbitrary fetching'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['mode', 'inline_payload', 'inline_signature'], 'properties': {'mode': {'const': 'inline'}, 'inline_payload': {'type': 'object', 'required': ['verdict', 'sourceAssetId', 'destinationAssetId', 'subjectChainId', 'action', 'tradeAmountUsd', 'consensusPrice', 'maxDeviationBps', 'manipulationRiskBps', 'participantCount', 'requiredParticipantCount', 'coverageStatus', 'independenceStatus', 'sourceGroupCount', 'crossProviderAgreementBps', 'maxStablecoinDepegBps', 'maxDataAgeSeconds', 'recommendedMaxPositionUsd', 'reasonCodesHash', 'requestHash', 'evaluationScope', 'evaluatedAssetIdsHash', 'providerObservationsHash', 'validUntil', 'checkedAt', 'schemaVersion'], 'properties': {'action': {'type': 'string'}, 'verdict': {'type': 'string'}, 'checkedAt': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'validUntil': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'requestHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'schemaVersion': {'type': 'integer', 'const': 2, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'pinned (Alejandro 9th reply): only schemaVersion=2 is accepted'}, 'sourceAssetId': {'type': 'string'}, 'consensusPrice': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'coverageStatus': {'type': 'string'}, 'subjectChainId': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'tradeAmountUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluationScope': {'type': 'string', 'const': 'SOURCE_ASSET_ONLY', 'description': 'pinned (Alejandro 9th reply): InterAI must not widen the signed evaluationScope claim'}, 'maxDeviationBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'reasonCodesHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'participantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'sourceGroupCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'maxDataAgeSeconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'destinationAssetId': {'type': 'string'}, 'independenceStatus': {'type': 'string'}, 'manipulationRiskBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluatedAssetIdsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'maxStablecoinDepegBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'providerObservationsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'requiredParticipantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'crossProviderAgreementBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'recommendedMaxPositionUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'profile-specific closed schema for the Insight OracleSafetyCheck v2 (26-field) inline payload: required, exact types, additionalProperties:false, schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. A future provider profile pins its own inline schema.', 'additionalProperties': False}, 'inline_signature': {'type': 'string', 'description': 'provider signature over the typed payload'}}, 'additionalProperties': False}]}}, 'description': 'Closed JSON Schema for one item of the optional top-level external_evidence collection. additionalProperties:false is enforced recursively; required fields are explicit; reference and inline modes are discriminated with oneOf (now actually enforced by conformant Draft-07 validators). rev4 hardening: every uint256 semantics field accepts either a JSON number in 0..9007199254740991 or a canonical decimal-string for larger values (Alejandro 10th-reply targeted correction, completing the 9th-reply integer item); rev3 items are retained: inline_payload closed with a strict profile-specific schema (Insight OracleSafetyCheck v2, 26 fields, required, exact types, additionalProperties:false), signed schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. subject_only and order_insensitive binding modes are reserved and NOT accepted on the wire in v0. rev5: the wire shape is unchanged. The bundled self-check validator now evaluates const and enum before any type-specific return, so it agrees with a conformant Draft-07 validator on the pinned schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY.', 'additionalProperties': False}, 'description': 'Optional signed or verifiable external assertions. Current Stage 2 evidence is parsed, verified, bound, and recorded as non-authoritative evidence; it does not directly determine the InterAI execution decision or risk score.'}, 'authorization_ttl_seconds': {'type': 'integer', 'default': 60, 'maximum': 300, 'minimum': 1, 'description': 'Lifetime of a single-use execution authorization for a canonical action. Only Bearer-authenticated pilot requests receive executable authorization material.'}}, 'description': 'Preflight one exact proposed autonomous action before execution. Provide use_case and action; optionally add context, caller policy, external evidence, a domain label, verification mode, and an idempotency key.', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['billed', 'result'], 'properties': {'billed': {'type': 'object', 'properties': {'mode': {'type': 'string'}, 'cost_usdc': {'type': 'string'}, 'cost_microusdc': {'type': 'number'}}, 'description': 'Billing metadata for this verification call.', 'additionalProperties': True}, 'result': {'type': 'object', 'properties': {'score': {'type': 'number'}, 'oracle': {'type': 'object', 'additionalProperties': True}, 'signals': {'type': 'object', 'additionalProperties': True}, 'risk_level': {'type': 'string'}, 'trust_score': {'type': 'number'}, 'policy_result': {'enum': ['allow', 'review_required', 'block'], 'type': 'string'}, 'trust_receipt': {'type': 'object', 'additionalProperties': True}, 'request_contract': {'type': 'string'}, 'trust_receipt_id': {'type': 'string'}, 'recommended_action': {'enum': ['allow', 'review_required', 'block', 'accept', 'review'], 'type': 'string'}}, 'description': 'Pre-execution decision, policy evaluation, signals, and trust-receipt evidence.', 'additionalProperties': True}}, 'description': 'Successful InterAI single-verification result. The unstructured content field carries the same payload serialized as JSON for backwards compatibility.', 'additionalProperties': True}
oracle.verify_batch
Verify Batch
Use for multiple independent legacy or autonomous verification items in one authenticated prepaid call (1 to 100). The batch may consume account balance and records one trust receipt per item; InterAI does not execute any proposed external action. Reuse idempotency_key only for the same logical batch retry. For one proposed action, use oracle.verify_autonomous_action instead.
入力スキーマ
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['use_case']}, {'required': ['action']}, {'required': ['execution_context']}, {'required': ['authorization_ttl_seconds']}, {'required': ['context']}, {'required': ['policy']}, {'required': ['external_evidence']}]}, 'required': ['prompt', 'response'], 'description': 'Legacy batch item requiring prompt and response and excluding autonomous action fields.'}, {'not': {'anyOf': [{'required': ['prompt']}, {'required': ['response']}]}, 'required': ['use_case', 'action'], 'description': 'Autonomous batch item requiring use_case and action and excluding legacy prompt/response fields.'}], 'properties': {'action': {'type': 'object', 'properties': {'type': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-canonical-action/v1'}, 'tool_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'resource': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'arguments': {'type': 'object'}, 'operation': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'destination': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'irreversible': {'type': 'boolean'}, 'external_side_effect': {'type': 'boolean'}}, 'description': 'The proposed action. For executable pilot authorization use interai-canonical-action/v1 with host-registry tool_id, type, operation, exact arguments, and explicit side-effect semantics.', 'additionalProperties': True}, 'domain': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Optional domain label used to provide verification context. It does not replace the exact action, context, or policy inputs.'}, 'policy': {'type': 'object', 'properties': {'max_risk_level': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'amount_usd_limit': {'type': 'number', 'minimum': 0}, 'allowed_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'blocked_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'require_trust_receipt': {'type': 'boolean'}, 'require_human_review_above': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'allowed_action_types_enforced': {'type': 'boolean'}, 'require_user_confirmation_for_irreversible': {'type': 'boolean'}}, 'description': 'Optional strictly validated caller-scoped restrictions. They may tighten the boundary but cannot weaken host or account policy.', 'additionalProperties': False}, 'prompt': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Legacy compatibility input: the original prompt whose response is being verified. Use together with response, not with autonomous action fields.'}, 'context': {'type': 'object', 'description': 'Optional runtime context surrounding the proposed action, such as environment, agent identity, counterparty, user confirmation, or other facts relevant to this decision.', 'additionalProperties': True}, 'response': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Legacy compatibility input: the response to evaluate against prompt. Use together with prompt, not with autonomous action fields.'}, 'use_case': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Stable identifier describing why the exact autonomous action is being proposed. Required together with action for the autonomous_execution contract.'}, 'execution_context': {'type': 'object', 'required': ['schema', 'workspace_id', 'environment'], 'properties': {'run_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-host-execution-context/v1'}, 'actor_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'environment': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'workspace_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}}, 'description': 'Host-attested execution context bound to a canonical action. InterAI authenticates the account, not the truth of host-provided workspace, actor, run, or environment values.', 'additionalProperties': False}, 'external_evidence': {'type': 'array', 'items': {'$id': 'external-evidence/v0/rev6', 'type': 'object', 'title': 'external-evidence/v0 (rev6) wire item', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['evidence_id', 'provider', 'assertion', 'validity', 'binding', 'verification'], 'properties': {'binding': {'type': 'object', 'required': ['scope', 'binding_mode', 'action_commitment'], 'properties': {'scope': {'enum': ['action'], 'type': 'string', 'description': 'v0 supports action scope only; subject scope is reserved with subject_only'}, 'binding_mode': {'enum': ['exact_action'], 'type': 'string', 'description': 'the only supported v0 binding mode. subject_only and order_insensitive are reserved and rejected on the wire.'}, 'action_commitment': {'type': 'object', 'required': ['scheme', 'type', 'commitment', 'committed_fields'], 'properties': {'type': {'type': 'string', 'description': 'pinned locally per provider profile (eip712)'}, 'scheme': {'type': 'string', 'description': 'pinned locally per provider profile (insight.canonical-pre-trade-request/v1)'}, 'commitment': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'must equal the signed requestHash'}, 'committed_fields': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'the field list is pinned locally per provider profile', 'uniqueItems': True}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'provider': {'type': 'object', 'required': ['namespace', 'assertion_version', 'key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'must equal the locally pinned key id'}, 'namespace': {'type': 'string', 'description': 'resolved against the local provider adapter / trust registry'}, 'assertion_version': {'type': 'string', 'description': 'must equal the locally configured profile version'}}, 'additionalProperties': False}, 'validity': {'type': 'object', 'required': ['evaluated_at', 'valid_until'], 'properties': {'valid_until': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed validUntil; expiry is enforced on the signed payload, never this projection'}, 'evaluated_at': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed checkedAt'}}, 'additionalProperties': False}, 'assertion': {'type': 'object', 'required': ['kind', 'verdict', 'verdict_space'], 'properties': {'kind': {'enum': ['assessment', 'observation'], 'type': 'string', 'description': 'semantics pinned locally per provider profile'}, 'verdict': {'type': 'string', 'description': 'provider-native verdict, must equal the signed verdict'}, 'observations': {'type': 'object', 'required': ['coverage_status', 'participant_count', 'required_participant_count', 'cross_provider_deviation_bps', 'cross_provider_agreement_bps', 'independence_status', 'max_data_age_seconds'], 'properties': {'coverage_status': {'type': 'string'}, 'participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'independence_status': {'type': 'string'}, 'max_data_age_seconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'required_participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_agreement_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_deviation_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'optional on the wire; if present it must equal the signed projection field by field (compared with structural/JCS equality, not order-sensitive JSON.stringify)', 'additionalProperties': False}, 'verdict_space': {'type': 'string', 'description': 'the scale namespace, pinned locally per provider profile'}}, 'additionalProperties': False}, 'evidence_id': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'provider canonical digest as claimed by the caller; InterAI recomputes it from the verified signed assertion and a mismatch is NOT_ALLOWED.'}, 'verification': {'type': 'object', 'oneOf': [{'type': 'object', 'required': ['mode', 'attestation_ref'], 'properties': {'mode': {'const': 'reference'}, 'attestation_ref': {'type': 'string', 'description': 'resolved through the locally configured adapter / allowlisted origin; a URL in evidence never triggers arbitrary fetching'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['mode', 'inline_payload', 'inline_signature'], 'properties': {'mode': {'const': 'inline'}, 'inline_payload': {'type': 'object', 'required': ['verdict', 'sourceAssetId', 'destinationAssetId', 'subjectChainId', 'action', 'tradeAmountUsd', 'consensusPrice', 'maxDeviationBps', 'manipulationRiskBps', 'participantCount', 'requiredParticipantCount', 'coverageStatus', 'independenceStatus', 'sourceGroupCount', 'crossProviderAgreementBps', 'maxStablecoinDepegBps', 'maxDataAgeSeconds', 'recommendedMaxPositionUsd', 'reasonCodesHash', 'requestHash', 'evaluationScope', 'evaluatedAssetIdsHash', 'providerObservationsHash', 'validUntil', 'checkedAt', 'schemaVersion'], 'properties': {'action': {'type': 'string'}, 'verdict': {'type': 'string'}, 'checkedAt': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'validUntil': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'requestHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'schemaVersion': {'type': 'integer', 'const': 2, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'pinned (Alejandro 9th reply): only schemaVersion=2 is accepted'}, 'sourceAssetId': {'type': 'string'}, 'consensusPrice': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'coverageStatus': {'type': 'string'}, 'subjectChainId': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'tradeAmountUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluationScope': {'type': 'string', 'const': 'SOURCE_ASSET_ONLY', 'description': 'pinned (Alejandro 9th reply): InterAI must not widen the signed evaluationScope claim'}, 'maxDeviationBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'reasonCodesHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'participantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'sourceGroupCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'maxDataAgeSeconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'destinationAssetId': {'type': 'string'}, 'independenceStatus': {'type': 'string'}, 'manipulationRiskBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluatedAssetIdsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'maxStablecoinDepegBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'providerObservationsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'requiredParticipantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'crossProviderAgreementBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'recommendedMaxPositionUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'profile-specific closed schema for the Insight OracleSafetyCheck v2 (26-field) inline payload: required, exact types, additionalProperties:false, schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. A future provider profile pins its own inline schema.', 'additionalProperties': False}, 'inline_signature': {'type': 'string', 'description': 'provider signature over the typed payload'}}, 'additionalProperties': False}]}}, 'description': 'Closed JSON Schema for one item of the optional top-level external_evidence collection. additionalProperties:false is enforced recursively; required fields are explicit; reference and inline modes are discriminated with oneOf (now actually enforced by conformant Draft-07 validators). rev4 hardening: every uint256 semantics field accepts either a JSON number in 0..9007199254740991 or a canonical decimal-string for larger values (Alejandro 10th-reply targeted correction, completing the 9th-reply integer item); rev3 items are retained: inline_payload closed with a strict profile-specific schema (Insight OracleSafetyCheck v2, 26 fields, required, exact types, additionalProperties:false), signed schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. subject_only and order_insensitive binding modes are reserved and NOT accepted on the wire in v0. rev5: the wire shape is unchanged. The bundled self-check validator now evaluates const and enum before any type-specific return, so it agrees with a conformant Draft-07 validator on the pinned schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY.', 'additionalProperties': False}, 'description': 'Optional signed or verifiable external assertions. Current Stage 2 evidence is parsed, verified, bound, and recorded as non-authoritative evidence; it does not directly determine the InterAI execution decision or risk score.'}, 'authorization_ttl_seconds': {'type': 'integer', 'default': 60, 'maximum': 300, 'minimum': 1, 'description': 'Lifetime of a single-use execution authorization for a canonical action. Only Bearer-authenticated pilot requests receive executable authorization material.'}}, 'description': 'One independent batch item. Supply either legacy prompt + response or autonomous use_case + action; never mix the two contracts within one item.', 'additionalProperties': False}, 'maxItems': 100, 'minItems': 1, 'description': 'Independent verification items. Each item must contain either prompt + response or use_case + action; 1 to 100 items are accepted.'}, 'idempotency_key': {'type': 'string', 'pattern': '^\\s*[A-Za-z0-9._:-]+\\s*$', 'maxLength': 200, 'minLength': 1, 'description': 'Stable caller-provided key for retrying the same billed verification without duplicating the economic operation. Reuse it only for the same logical request.'}}, 'description': 'Verify 1 to 100 independent items in one billed operation. Each item independently uses either the legacy or autonomous contract. The optional idempotency key applies to the batch operation as a whole.', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['billed', 'batch_size', 'results', 'summary', 'oracle'], 'properties': {'billed': {'type': 'object', 'description': 'Billing metadata for the batch operation.', 'additionalProperties': True}, 'oracle': {'type': 'object', 'description': 'InterAI engine and signing metadata.', 'additionalProperties': True}, 'results': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Independent verification decisions in the same order as the submitted items.'}, 'summary': {'type': 'object', 'description': 'Aggregate batch summary.', 'additionalProperties': True}, 'batch_size': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Number of independently evaluated batch items.'}}, 'description': 'Successful InterAI batch verification result. The unstructured content field carries the same payload serialized as JSON for backwards compatibility.', 'additionalProperties': True}
oracle.verify_response
Verify Response (Legacy)
Legacy compatibility entry point for existing clients. This authenticated prepaid verification may consume account balance and records a trust receipt, but it does not execute any proposed external action. Supply exactly one contract: prompt + response, or use_case + action; never mix them. Reuse idempotency_key only for the same logical retry. For new action preflight use oracle.verify_autonomous_action; use oracle.verify_batch for multiple items.
入力スキーマ
{'type': 'object', 'oneOf': [{'not': {'anyOf': [{'required': ['use_case']}, {'required': ['action']}, {'required': ['execution_context']}, {'required': ['authorization_ttl_seconds']}, {'required': ['context']}, {'required': ['policy']}, {'required': ['external_evidence']}]}, 'required': ['prompt', 'response'], 'description': 'Legacy verification contract. Requires both prompt and response and excludes autonomous action, context, policy, and external evidence fields.'}, {'not': {'anyOf': [{'required': ['prompt']}, {'required': ['response']}]}, 'required': ['use_case', 'action'], 'description': 'Autonomous execution compatibility contract. Requires use_case and action and excludes legacy prompt/response fields. New integrations should prefer oracle.verify_autonomous_action.'}], 'properties': {'mode': {'enum': ['fast_heuristic', 'semantic_judge'], 'type': 'string', 'description': 'Verification mode. Use fast_heuristic for the default low-latency path or semantic_judge when a semantic model judgment is explicitly required.'}, 'action': {'type': 'object', 'properties': {'type': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-canonical-action/v1'}, 'tool_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'resource': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'arguments': {'type': 'object'}, 'operation': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'destination': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'irreversible': {'type': 'boolean'}, 'external_side_effect': {'type': 'boolean'}}, 'description': 'The proposed action. For executable pilot authorization use interai-canonical-action/v1 with host-registry tool_id, type, operation, exact arguments, and explicit side-effect semantics.', 'additionalProperties': True}, 'domain': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Optional domain label used to provide verification context. It does not replace the exact action, context, or policy inputs.'}, 'policy': {'type': 'object', 'properties': {'max_risk_level': {'enum': ['low', 'medium', 'high'], 'type': 'string'}, 'amount_usd_limit': {'type': 'number', 'minimum': 0}, 'allowed_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'blocked_action_types': {'type': 'array', 'items': {'type': 'string', 'pattern': '\\S', 'maxLength': 128, 'minLength': 1}, 'maxItems': 100}, 'require_trust_receipt': {'type': 'boolean'}, 'require_human_review_above': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'allowed_action_types_enforced': {'type': 'boolean'}, 'require_user_confirmation_for_irreversible': {'type': 'boolean'}}, 'description': 'Optional strictly validated caller-scoped restrictions. They may tighten the boundary but cannot weaken host or account policy.', 'additionalProperties': False}, 'prompt': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Legacy compatibility input: the original prompt whose response is being verified. Use together with response, not with autonomous action fields.'}, 'context': {'type': 'object', 'description': 'Optional runtime context surrounding the proposed action, such as environment, agent identity, counterparty, user confirmation, or other facts relevant to this decision.', 'additionalProperties': True}, 'response': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Legacy compatibility input: the response to evaluate against prompt. Use together with prompt, not with autonomous action fields.'}, 'use_case': {'type': 'string', 'pattern': '\\S', 'minLength': 1, 'description': 'Stable identifier describing why the exact autonomous action is being proposed. Required together with action for the autonomous_execution contract.'}, 'idempotency_key': {'type': 'string', 'pattern': '^\\s*[A-Za-z0-9._:-]+\\s*$', 'maxLength': 200, 'minLength': 1, 'description': 'Stable caller-provided key for retrying the same billed verification without duplicating the economic operation. Reuse it only for the same logical request.'}, 'execution_context': {'type': 'object', 'required': ['schema', 'workspace_id', 'environment'], 'properties': {'run_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'schema': {'type': 'string', 'const': 'interai-host-execution-context/v1'}, 'actor_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'environment': {'type': 'string', 'pattern': '\\S', 'minLength': 1}, 'workspace_id': {'type': 'string', 'pattern': '\\S', 'minLength': 1}}, 'description': 'Host-attested execution context bound to a canonical action. InterAI authenticates the account, not the truth of host-provided workspace, actor, run, or environment values.', 'additionalProperties': False}, 'external_evidence': {'type': 'array', 'items': {'$id': 'external-evidence/v0/rev6', 'type': 'object', 'title': 'external-evidence/v0 (rev6) wire item', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['evidence_id', 'provider', 'assertion', 'validity', 'binding', 'verification'], 'properties': {'binding': {'type': 'object', 'required': ['scope', 'binding_mode', 'action_commitment'], 'properties': {'scope': {'enum': ['action'], 'type': 'string', 'description': 'v0 supports action scope only; subject scope is reserved with subject_only'}, 'binding_mode': {'enum': ['exact_action'], 'type': 'string', 'description': 'the only supported v0 binding mode. subject_only and order_insensitive are reserved and rejected on the wire.'}, 'action_commitment': {'type': 'object', 'required': ['scheme', 'type', 'commitment', 'committed_fields'], 'properties': {'type': {'type': 'string', 'description': 'pinned locally per provider profile (eip712)'}, 'scheme': {'type': 'string', 'description': 'pinned locally per provider profile (insight.canonical-pre-trade-request/v1)'}, 'commitment': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'must equal the signed requestHash'}, 'committed_fields': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1, 'description': 'the field list is pinned locally per provider profile', 'uniqueItems': True}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'provider': {'type': 'object', 'required': ['namespace', 'assertion_version', 'key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'must equal the locally pinned key id'}, 'namespace': {'type': 'string', 'description': 'resolved against the local provider adapter / trust registry'}, 'assertion_version': {'type': 'string', 'description': 'must equal the locally configured profile version'}}, 'additionalProperties': False}, 'validity': {'type': 'object', 'required': ['evaluated_at', 'valid_until'], 'properties': {'valid_until': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed validUntil; expiry is enforced on the signed payload, never this projection'}, 'evaluated_at': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED. must equal signed checkedAt'}}, 'additionalProperties': False}, 'assertion': {'type': 'object', 'required': ['kind', 'verdict', 'verdict_space'], 'properties': {'kind': {'enum': ['assessment', 'observation'], 'type': 'string', 'description': 'semantics pinned locally per provider profile'}, 'verdict': {'type': 'string', 'description': 'provider-native verdict, must equal the signed verdict'}, 'observations': {'type': 'object', 'required': ['coverage_status', 'participant_count', 'required_participant_count', 'cross_provider_deviation_bps', 'cross_provider_agreement_bps', 'independence_status', 'max_data_age_seconds'], 'properties': {'coverage_status': {'type': 'string'}, 'participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'independence_status': {'type': 'string'}, 'max_data_age_seconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'required_participant_count': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_agreement_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'cross_provider_deviation_bps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'optional on the wire; if present it must equal the signed projection field by field (compared with structural/JCS equality, not order-sensitive JSON.stringify)', 'additionalProperties': False}, 'verdict_space': {'type': 'string', 'description': 'the scale namespace, pinned locally per provider profile'}}, 'additionalProperties': False}, 'evidence_id': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$', 'description': 'provider canonical digest as claimed by the caller; InterAI recomputes it from the verified signed assertion and a mismatch is NOT_ALLOWED.'}, 'verification': {'type': 'object', 'oneOf': [{'type': 'object', 'required': ['mode', 'attestation_ref'], 'properties': {'mode': {'const': 'reference'}, 'attestation_ref': {'type': 'string', 'description': 'resolved through the locally configured adapter / allowlisted origin; a URL in evidence never triggers arbitrary fetching'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['mode', 'inline_payload', 'inline_signature'], 'properties': {'mode': {'const': 'inline'}, 'inline_payload': {'type': 'object', 'required': ['verdict', 'sourceAssetId', 'destinationAssetId', 'subjectChainId', 'action', 'tradeAmountUsd', 'consensusPrice', 'maxDeviationBps', 'manipulationRiskBps', 'participantCount', 'requiredParticipantCount', 'coverageStatus', 'independenceStatus', 'sourceGroupCount', 'crossProviderAgreementBps', 'maxStablecoinDepegBps', 'maxDataAgeSeconds', 'recommendedMaxPositionUsd', 'reasonCodesHash', 'requestHash', 'evaluationScope', 'evaluatedAssetIdsHash', 'providerObservationsHash', 'validUntil', 'checkedAt', 'schemaVersion'], 'properties': {'action': {'type': 'string'}, 'verdict': {'type': 'string'}, 'checkedAt': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'validUntil': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'requestHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'schemaVersion': {'type': 'integer', 'const': 2, 'maximum': 9007199254740991, 'minimum': 0, 'description': 'pinned (Alejandro 9th reply): only schemaVersion=2 is accepted'}, 'sourceAssetId': {'type': 'string'}, 'consensusPrice': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'coverageStatus': {'type': 'string'}, 'subjectChainId': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'tradeAmountUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluationScope': {'type': 'string', 'const': 'SOURCE_ASSET_ONLY', 'description': 'pinned (Alejandro 9th reply): InterAI must not widen the signed evaluationScope claim'}, 'maxDeviationBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'reasonCodesHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'participantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'sourceGroupCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'maxDataAgeSeconds': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'destinationAssetId': {'type': 'string'}, 'independenceStatus': {'type': 'string'}, 'manipulationRiskBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'evaluatedAssetIdsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'maxStablecoinDepegBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'providerObservationsHash': {'type': 'string', 'pattern': '^0x[0-9a-f]{64}$'}, 'requiredParticipantCount': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'crossProviderAgreementBps': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}, 'recommendedMaxPositionUsd': {'oneOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, {'type': 'string', 'pattern': '^(0|[1-9][0-9]*)$', 'description': 'canonical decimal-string: only for values > 9007199254740991'}], 'description': 'uint256 semantics: safe integers use JSON number 0..9007199254740991; larger values use canonical decimal-string (no leading zeros, no sign, no exponent, no fraction). Canonical form is enforced: a string whose value fits in the safe range is NOT_ALLOWED.'}}, 'description': 'profile-specific closed schema for the Insight OracleSafetyCheck v2 (26-field) inline payload: required, exact types, additionalProperties:false, schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. A future provider profile pins its own inline schema.', 'additionalProperties': False}, 'inline_signature': {'type': 'string', 'description': 'provider signature over the typed payload'}}, 'additionalProperties': False}]}}, 'description': 'Closed JSON Schema for one item of the optional top-level external_evidence collection. additionalProperties:false is enforced recursively; required fields are explicit; reference and inline modes are discriminated with oneOf (now actually enforced by conformant Draft-07 validators). rev4 hardening: every uint256 semantics field accepts either a JSON number in 0..9007199254740991 or a canonical decimal-string for larger values (Alejandro 10th-reply targeted correction, completing the 9th-reply integer item); rev3 items are retained: inline_payload closed with a strict profile-specific schema (Insight OracleSafetyCheck v2, 26 fields, required, exact types, additionalProperties:false), signed schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY pinned by const. subject_only and order_insensitive binding modes are reserved and NOT accepted on the wire in v0. rev5: the wire shape is unchanged. The bundled self-check validator now evaluates const and enum before any type-specific return, so it agrees with a conformant Draft-07 validator on the pinned schemaVersion=2 and evaluationScope=SOURCE_ASSET_ONLY.', 'additionalProperties': False}, 'description': 'Optional signed or verifiable external assertions. Current Stage 2 evidence is parsed, verified, bound, and recorded as non-authoritative evidence; it does not directly determine the InterAI execution decision or risk score.'}, 'authorization_ttl_seconds': {'type': 'integer', 'default': 60, 'maximum': 300, 'minimum': 1, 'description': 'Lifetime of a single-use execution authorization for a canonical action. Only Bearer-authenticated pilot requests receive executable authorization material.'}}, 'description': 'Compatibility schema supporting exactly one of two existing contracts: legacy prompt + response, or autonomous use_case + action. Do not mix legacy prompt/response fields with autonomous action fields in the same request.', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['billed', 'result'], 'properties': {'billed': {'type': 'object', 'properties': {'mode': {'type': 'string'}, 'cost_usdc': {'type': 'string'}, 'cost_microusdc': {'type': 'number'}}, 'description': 'Billing metadata for this verification call.', 'additionalProperties': True}, 'result': {'type': 'object', 'properties': {'score': {'type': 'number'}, 'oracle': {'type': 'object', 'additionalProperties': True}, 'signals': {'type': 'object', 'additionalProperties': True}, 'risk_level': {'type': 'string'}, 'trust_score': {'type': 'number'}, 'policy_result': {'enum': ['allow', 'review_required', 'block'], 'type': 'string'}, 'trust_receipt': {'type': 'object', 'additionalProperties': True}, 'request_contract': {'type': 'string'}, 'trust_receipt_id': {'type': 'string'}, 'recommended_action': {'enum': ['allow', 'review_required', 'block', 'accept', 'review'], 'type': 'string'}}, 'description': 'Pre-execution decision, policy evaluation, signals, and trust-receipt evidence.', 'additionalProperties': True}}, 'description': 'Successful InterAI single-verification result. The unstructured content field carries the same payload serialized as JSON for backwards compatibility.', 'additionalProperties': True}
oracle.verify_trust_receipt_signature
Verify Trust Receipt Signature
Read-only service-side validation of a trust receipt that already exists. Supply signature plus either receipt_id for the canonical server-stored receipt or a caller-supplied receipt object. Returns valid true or false when signing is enabled. Current signatures use HMAC-SHA256 and are service-verifiable by InterAI, not independent offline public-key proofs. It does not evaluate risk or create a receipt; use oracle.get_trust_receipt to retrieve receipt metadata.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'anyOf': [{'required': ['receipt'], 'description': 'Validate using a caller-supplied receipt object.'}, {'required': ['receipt_id'], 'description': 'Validate using the canonical server-stored receipt resolved from receipt_id.'}], 'required': ['signature'], 'properties': {'receipt': {'type': 'object', 'description': 'Optional caller-supplied receipt object, typically evidence received from another agent or system. Either receipt or receipt_id is required.'}, 'signature': {'type': 'string', 'description': 'HMAC-SHA256 signature to validate against the referenced InterAI receipt. Required.'}, 'receipt_id': {'type': 'string', 'description': 'Optional ID of an existing InterAI trust receipt. InterAI resolves the canonical server-stored record before validating the supplied signature. Either receipt_id or receipt is required.'}, 'signature_alg': {'enum': ['hmac-sha256'], 'type': 'string', 'description': 'Optional signature algorithm declaration. The current supported value is hmac-sha256.'}, 'signed_payload': {'type': 'string', 'description': 'Optional exact serialized payload that was signed. Supply it when validating externally transported receipt evidence that includes the original signed payload.'}}, 'description': 'Validate an existing InterAI receipt signature. Provide signature and either receipt_id or receipt; optional signed_payload and signature_alg can further bind the supplied evidence.', 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['valid', 'signature_alg'], 'properties': {'valid': {'type': 'boolean', 'description': 'Whether the supplied signature matches the referenced stored receipt.'}, 'signature_alg': {'enum': ['hmac-sha256'], 'type': 'string', 'description': 'Signature algorithm used by the current InterAI receipt verifier.'}}, 'description': 'Service-side signature-validation result for an existing InterAI trust receipt.', 'additionalProperties': False}
追加
oracle.verify_trust_receipt_signature
2026年9月17日12:42
追加
oracle.get_trust_receipt
2026年9月17日12:42
追加
oracle.agent_card
2026年9月17日12:42
追加
oracle.service_descriptor
2026年9月17日12:42
追加
oracle.discovery_bundle
2026年9月17日12:42
追加
oracle.get_pricing
2026年9月17日12:42
追加
oracle.verify_batch
2026年9月17日12:42
追加
oracle.verify_response
2026年9月17日12:42
追加
oracle.verify_autonomous_action
2026年9月17日12:42