How should I order custom blocks?
You can use 'weight' for every block.

$blocks['contact_info'] = array(
  'info' =&gt; t('Contact Info Block'),//admin ui block name
  'weight' =&gt; 0,
);

$blocks['contact_form'] = array(
  'info' =&gt; t('Contact Form Block'),
  'weight' =&gt; 1,
);


I hope this will work for you :)