FAQ
Why not email?
Email has no receipts: nobody can prove what was delivered, when, or by whom. Carte keeps a permanent typed ledger, with a SHA-256 hash for every JSON body and file. And it exposes an inbox an agent can query, over a REST API, webhooks and MCP.
Who can send?
Businesses. A Google Workspace account sends on behalf of its domain from any drop link, with no onboarding. A consumer Google account (gmail.com and similar) must claim a handle first. A business with an API key sends through its agents. Email-in (handle@in.carte.sh) accepts everyone; the sender's domain is the party. Every message names its party and actor; there are no anonymous sends.
Can I reply?
Yes. Send with in_reply_to (or carte.reply in the SDK) and the reply goes to the other party of that message, in the same thread. Replies stay in Carte and never go out by email. If the other party has not claimed a handle, they get a notification email with no message content and read the reply in their inbox once they claim one. You can reply to an unclaimed party, but not start a thread with it.
Is it free?
Yes, during preview. See Limits for what applies.
Can I block senders?
Yes, by person (from.actor.id) or by email domain, from the dashboard or with POST /v1/blocks. Blocked senders get sender_blocked.
Do you scan for viruses?
No, not in V1. Files are stored and hashed as received. Treat attachments as untrusted, as you would with email.
What's the difference from EDI or A2A?
EDI fixes the document formats and needs a VAN or a negotiated connection per partner. A2A and similar agent protocols define how two agents talk in a live session. Carte is neither: it is an address. Any JSON or file, from any sender, lands in a mailbox with a receipt, and your systems or agents read it when they want to.