Several agents, one voice per contact.

When more than one agent works the same account, Molted stops them from emailing the same person over each other.

A lease claims a contact.

An agent takes a lease on a contact before it writes. While the lease holds, 30 minutes unless it asks for longer, another agent's send to that person comes back blocked, with who holds it and until when.

send_email · from a second agent
send_email({ to: "priya@acme.com", … }){  "status": "blocked",  "reason": "lease_conflict",  "leaseHolder": {    "agentName": "support-bot",    "expiresAt": "2026-09-26T14:32:07Z"  }}

Done early? Let it go.

release_lease frees the contact the moment an agent is finished, and list_leases shows who holds what. Every lease taken or released is also an event on the stream.

acquire_lease · release_lease · list_leases · coordination.lease_acquired

Every agent answers to the same checks.

Suppressions, dedupe keys and the account's send limits aren't per agent. An address one agent suppressed is off limits to the rest, and the daily limit counts everyone's sends.

one suppression list · one set of dedupe keys · one daily and monthly limit

For a sensitive step, ask the others.

An agent can put an action to a vote before it takes it. It passes once at least half of the agents that sent a heartbeat in the last five minutes approve.

register_agent · heartbeat · create_consensus · vote · get_consensus

Hand it to your agent.

It sets up its own inbox. You decide how much it does on its own.