openapi: 3.2.0 info: title: tZERO Institutional API Documents Custody Assets API description: '## Overview The **tZERO Institutional API** — programmatic access to transfer-agent, tokenization, and custody operations for institutional issuers and partners.' version: 1.1.0 contact: name: T0kenizer API Support email: api@t0direct.com servers: - url: https://api.t0direct.com description: Production security: - ApiKeyAuth: [] tags: - name: Custody Assets description: Supported assets, address validation, and fee estimation (live) paths: /api/v1/custody/supported-assets: get: summary: List supported assets tags: - Custody Assets description: Lists the assets supported by the custody provider. Returns 503 if custody is not configured in this environment. responses: '200': description: Default Response content: application/json: schema: type: object properties: data: type: array items: type: object additionalProperties: true '401': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '403': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '503': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' operationId: getApiV1CustodySupportedAssets x-operation-id-source: derived /api/v1/custody/validate-address: post: summary: Validate an address tags: - Custody Assets description: Validates a blockchain address for the given asset via the custody provider. Read-only despite the POST verb. Returns 503 if custody is not configured. requestBody: required: true content: application/json: schema: type: object required: - assetId - address properties: assetId: type: string description: Custody asset id (e.g. ETH_TEST5) address: type: string responses: '200': description: Default Response content: application/json: schema: type: object properties: data: type: object additionalProperties: true '400': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '401': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '403': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '503': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' operationId: postApiV1CustodyValidateAddress x-operation-id-source: derived /api/v1/custody/estimate-fee/{assetId}: get: summary: Estimate network fee tags: - Custody Assets description: Estimates the network fee for an asset via the custody provider. Returns 503 if custody is not configured. parameters: - schema: type: string in: path name: assetId required: true description: Custody asset id responses: '200': description: Default Response content: application/json: schema: type: object properties: data: type: object additionalProperties: true '401': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '403': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' '503': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-1' operationId: getApiV1CustodyEstimateFeeByAssetId x-operation-id-source: derived components: schemas: def-1: type: object properties: success: type: boolean example: false error: type: object properties: code: type: string example: T0K-V1-INV-001 message: type: string example: Investor not found title: ErrorResponse securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key generated at app.t0kenizer.com/ta/api-keys