openapi: 3.2.0 info: title: HiveMorph v0.1 Cns API description: 'Polymorphic agent runtime — single shape (Merchant), single supermodel (W2 MERCHANT). Three gates: NEED + YIELD + CLEAN-MONEY.' version: 0.1.0 tags: - name: cns paths: /v1/cns/health: get: tags: - cns summary: Health operationId: health_v1_cns_health_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response Health V1 Cns Health Get /v1/cns/transfer: post: tags: - cns summary: Transfer operationId: transfer_v1_cns_transfer_post requestBody: content: application/json: schema: $ref: '#/components/schemas/TransferRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TransferResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/cns/transfer/{transfer_id}: get: tags: - cns summary: Transfer Get operationId: transfer_get_v1_cns_transfer__transfer_id__get parameters: - name: transfer_id in: path required: true schema: type: string title: Transfer Id responses: '200': description: Successful Response content: application/json: schema: type: object additionalProperties: true title: Response Transfer Get V1 Cns Transfer Transfer Id Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/cns/benchmark: get: tags: - cns summary: Benchmark operationId: benchmark_v1_cns_benchmark_get responses: '200': description: Successful Response content: application/json: schema: additionalProperties: true type: object title: Response Benchmark V1 Cns Benchmark Get components: schemas: TransferResponse: properties: transfer_id: type: string title: Transfer Id status: type: string enum: - settled - rejected title: Status submitted_at: type: string title: Submitted At settled_at: type: string title: Settled At wall_clock_ms: type: number title: Wall Clock Ms off_chain_ms: type: number title: Off Chain Ms on_chain_ms: type: number title: On Chain Ms transfer: $ref: '#/components/schemas/TransferRequest' compliance_bundle: $ref: '#/components/schemas/ComplianceBundle' settlement_envelope: $ref: '#/components/schemas/SettlementEnvelope' rejection_reason: anyOf: - type: string - type: 'null' title: Rejection Reason type: object required: - transfer_id - status - submitted_at - settled_at - wall_clock_ms - off_chain_ms - on_chain_ms - transfer - compliance_bundle - settlement_envelope title: TransferResponse ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError SettlementEnvelope: properties: sha3_256: type: string title: Sha3 256 ed25519_signature: type: string title: Ed25519 Signature mldsa65_signature: type: string title: Mldsa65 Signature sphere_tier: type: string title: Sphere Tier sphere_cost_usd: type: number title: Sphere Cost Usd anchor_tx: anyOf: - type: string - type: 'null' title: Anchor Tx anchor_chain: type: string title: Anchor Chain verifier_url: type: string title: Verifier Url type: object required: - sha3_256 - ed25519_signature - mldsa65_signature - sphere_tier - sphere_cost_usd - anchor_chain - verifier_url title: SettlementEnvelope ComplianceEnvelopeSummary: properties: control_id: type: string title: Control Id auditor: type: string title: Auditor pass: type: boolean title: Pass score: type: number title: Score sha3_256: type: string title: Sha3 256 ed25519_signature: type: string title: Ed25519 Signature mldsa65_signature: type: string title: Mldsa65 Signature duration_ms: type: number title: Duration Ms type: object required: - control_id - auditor - pass - score - sha3_256 - ed25519_signature - mldsa65_signature - duration_ms title: ComplianceEnvelopeSummary TransferRequest: properties: from_did: type: string title: From Did description: Sender DID, e.g. did:hive:treasury:0x... to_did: type: string title: To Did description: Recipient DID asset: type: string title: Asset description: Asset symbol (USDC / USDT / EURC / PYUSD) chain: type: string title: Chain description: Settlement chain default: base-8453 amount: type: string title: Amount description: Amount as decimal string, e.g. '100000.00' purpose: type: string maxLength: 64 title: Purpose default: trade-settlement jurisdiction_pair: items: type: string type: array title: Jurisdiction Pair compliance_controls: anyOf: - items: type: string type: array - type: 'null' title: Compliance Controls description: Override default 4 controls. None means use defaults. memo: anyOf: - type: string maxLength: 256 - type: 'null' title: Memo sphere_override: anyOf: - type: string - type: 'null' title: Sphere Override description: Force a specific Sphere tier; otherwise auto-selected by amount. type: object required: - from_did - to_did - asset - amount title: TransferRequest ComplianceBundle: properties: controls_audited: type: integer title: Controls Audited all_passed: type: boolean title: All Passed score: type: number title: Score envelopes: items: $ref: '#/components/schemas/ComplianceEnvelopeSummary' type: array title: Envelopes type: object required: - controls_audited - all_passed - score - envelopes title: ComplianceBundle HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError