naftiko: 1.0.0-alpha2 info: label: EVM API — Transaction description: 'EVM API — Transaction. 4 operations. Lead operation: Get transaction by hash. Self-contained Naftiko capability covering one Moralis business surface.' tags: - Moralis - Transaction created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MORALIS_API_KEY: MORALIS_API_KEY capability: consumes: - type: http namespace: evm-transaction baseUri: https://deep-index.moralis.io/api/v2.2 description: EVM API — Transaction business capability. Self-contained, no shared references. resources: - name: transaction-transaction_hash path: /transaction/{transaction_hash} operations: - name: gettransaction method: GET description: Get transaction by hash outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: transaction_hash in: path type: string description: The transaction hash required: true - name: include in: query type: string description: If the result should contain the internal transactions. - name: transaction-transaction_hash-verbose path: /transaction/{transaction_hash}/verbose operations: - name: gettransactionverbose method: GET description: Get decoded transaction by hash outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: transaction_hash in: path type: string description: The transaction hash required: true - name: include in: query type: string description: If the result should contain the internal transactions. - name: address path: /{address} operations: - name: getwallettransactions method: GET description: Get native transactions by wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: from_block in: query type: integer description: The minimum block number from which to get the transactions - name: to_block in: query type: integer description: The maximum block number from which to get the transactions. - name: from_date in: query type: string description: The start date from which to get the transactions (format in seconds or datestring accepted by momentjs) - name: to_date in: query type: string description: Get the transactions up to this date (format in seconds or datestring accepted by momentjs) - name: address in: path type: string description: The address of the wallet required: true - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: limit in: query type: integer description: The desired page size of the result. - name: include in: query type: string description: If the result should contain the internal transactions. - name: address-verbose path: /{address}/verbose operations: - name: getwallettransactionsverbose method: GET description: Get decoded transactions by wallet outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: chain in: query type: string description: The chain to query - name: from_block in: query type: integer description: The minimum block number from which to get the transactions - name: to_block in: query type: integer description: The maximum block number from which to get the transactions. - name: from_date in: query type: string description: The start date from which to get the transactions (format in seconds or datestring accepted by momentjs) - name: to_date in: query type: string description: Get the transactions up to this date (format in seconds or datestring accepted by momentjs) - name: address in: path type: string description: The address of the wallet required: true - name: include in: query type: string description: If the result should contain the internal transactions. - name: cursor in: query type: string description: The cursor returned in the previous response (used for getting the next page). - name: order in: query type: string description: The order of the result, in ascending (ASC) or descending (DESC) - name: limit in: query type: integer description: The desired page size of the result. authentication: type: apikey key: X-API-Key value: '{{env.MORALIS_API_KEY}}' placement: header exposes: - type: rest namespace: evm-transaction-rest port: 8080 description: REST adapter for EVM API — Transaction. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/transaction/{transaction-hash} name: transaction-transaction-hash description: REST surface for transaction-transaction_hash. operations: - method: GET name: gettransaction description: Get transaction by hash call: evm-transaction.gettransaction with: chain: rest.chain transaction_hash: rest.transaction_hash include: rest.include outputParameters: - type: object mapping: $. - path: /v1/transaction/{transaction-hash}/verbose name: transaction-transaction-hash-verbose description: REST surface for transaction-transaction_hash-verbose. operations: - method: GET name: gettransactionverbose description: Get decoded transaction by hash call: evm-transaction.gettransactionverbose with: chain: rest.chain transaction_hash: rest.transaction_hash include: rest.include outputParameters: - type: object mapping: $. - path: /v1/{address} name: address description: REST surface for address. operations: - method: GET name: getwallettransactions description: Get native transactions by wallet call: evm-transaction.getwallettransactions with: chain: rest.chain from_block: rest.from_block to_block: rest.to_block from_date: rest.from_date to_date: rest.to_date address: rest.address cursor: rest.cursor order: rest.order limit: rest.limit include: rest.include outputParameters: - type: object mapping: $. - path: /v1/{address}/verbose name: address-verbose description: REST surface for address-verbose. operations: - method: GET name: getwallettransactionsverbose description: Get decoded transactions by wallet call: evm-transaction.getwallettransactionsverbose with: chain: rest.chain from_block: rest.from_block to_block: rest.to_block from_date: rest.from_date to_date: rest.to_date address: rest.address include: rest.include cursor: rest.cursor order: rest.order limit: rest.limit outputParameters: - type: object mapping: $. - type: mcp namespace: evm-transaction-mcp port: 9090 transport: http description: MCP adapter for EVM API — Transaction. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-transaction-hash description: Get transaction by hash hints: readOnly: true destructive: false idempotent: true call: evm-transaction.gettransaction with: chain: tools.chain transaction_hash: tools.transaction_hash include: tools.include outputParameters: - type: object mapping: $. - name: get-decoded-transaction-hash description: Get decoded transaction by hash hints: readOnly: true destructive: false idempotent: true call: evm-transaction.gettransactionverbose with: chain: tools.chain transaction_hash: tools.transaction_hash include: tools.include outputParameters: - type: object mapping: $. - name: get-native-transactions-wallet description: Get native transactions by wallet hints: readOnly: true destructive: false idempotent: true call: evm-transaction.getwallettransactions with: chain: tools.chain from_block: tools.from_block to_block: tools.to_block from_date: tools.from_date to_date: tools.to_date address: tools.address cursor: tools.cursor order: tools.order limit: tools.limit include: tools.include outputParameters: - type: object mapping: $. - name: get-decoded-transactions-wallet description: Get decoded transactions by wallet hints: readOnly: true destructive: false idempotent: true call: evm-transaction.getwallettransactionsverbose with: chain: tools.chain from_block: tools.from_block to_block: tools.to_block from_date: tools.from_date to_date: tools.to_date address: tools.address include: tools.include cursor: tools.cursor order: tools.order limit: tools.limit outputParameters: - type: object mapping: $.