A computer system for processing a plurality of agents submitted from participant systems, wherein each agent includes a valuation function for a first resource that is being sought and the properties of a second resource that the participant is relinquishing, wherein the valuation function for the first resource is defined with at least one variable property of the first resource, the computer system comprising: an entry port for each participant system through which the participant systems submit agents via agent data messages; an un-sequenced message bus to which the agent data messages are written; a sequencer and a sequenced message bus, the sequencer configured to listen to the un-sequenced message bus, sequence the messages that are placed onto the bus, and write the sequenced messages to the sequenced message bus; two or more matching engines each comprising an agent pool for storing agents and configured to read sequenced messages from the sequenced message bus and, if the agent in an agent data message on the sequenced message bus is appropriate for a matching engine, write or store the agent to the relevant agent pool of that matching engine; wherein the matching engines each comprise an evaluator configured to perform a pair-wise calculation of the valuation function of the agents that are stored into the agent pool of the matching engine; and wherein the pair-wise calculation of the valuation function includes evaluating, for each agent, the valuation function for the first resource using the at least one variable property of the first resource as offered for relinquishing in another, corresponding agent; and wherein the matching engines are further configured to, once the pair-wise evaluation is completed, identify matches using the results of the evaluations of the agents and publish the details of any matches to the un-sequenced message bus; and wherein the entry ports act upon the details of the matches when published by the sequencer to the sequenced message bus by reporting a match back to the participant systems from which the agents originated; and wherein the computer system further comprises a post-match system which acts upon the details of the matches when published by the sequencer to the sequenced message bus to handle post-match processing. an entry port for each participant system through which the participant systems submit agents via agent data messages; an un-sequenced message bus to which the agent data messages are written; a sequencer and a sequenced message bus, the sequencer configured to listen to the un-sequenced message bus, sequence the messages that are placed onto the bus, and write the sequenced messages to the sequenced message bus; two or more matching engines each comprising an agent pool for storing agents and configured to read sequenced messages from the sequenced message bus and, if the agent in an agent data message on the sequenced message bus is appropriate for a matching engine, write or store the agent to the relevant agent pool of that matching engine; wherein the matching engines each comprise an evaluator configured to perform a pair-wise calculation of the valuation function of the agents that are stored into the agent pool of the matching engine; and wherein the pair-wise calculation of the valuation function includes evaluating, for each agent, the valuation function for the first resource using the at least one variable property of the first resource as offered for relinquishing in another, corresponding agent; and wherein the matching engines are further configured to, once the pair-wise evaluation is completed, identify matches using the results of the evaluations of the agents and publish the details of any matches to the un-sequenced message bus; and wherein the entry ports act upon the details of the matches when published by the sequencer to the sequenced message bus by reporting a match back to the participant systems from which the agents originated; and wherein the computer system further comprises a post-match system which acts upon the details of the matches when published by the sequencer to the sequenced message bus to handle post-match processing.