Built for the UK
Physical-world infrastructure for agents
Your agent writes a sentence. A real letter lands on a real doormat. One key, anywhere in the UK, with a budget you set and a record of everything it did.
No card. Test mode is free and posts nothing.
- Claude Code
- Cursor
- Codex
- any MCP client
Quoted before it is charged
Your agent sees the price and the proof first.
Never sent twice
A retry returns the same letter, not a second one.
Held to your budget
Over the limit, the job waits for a person.
On record
Every letter comes back with evidence to keep.
How it works
From a sentence to a doormat
The dot fills in as the job becomes real. Every offline action follows the same four steps.
Your agent asks
In plain words, from any agent or from your own code.
Quote
A price and a rendered proof. Nothing is charged yet.
Approve
Inside your budget it goes ahead. Outside it, it waits for you.
Post
Printed, enveloped and handed to Royal Mail. Once, however often the agent retries.
Prove
The exact file, its hash and a time for every stage.
Why not build it
Six things to set up, or one key
On your own6 to build and maintain
A print supplier
An account, a contract and their API.
Letter layout
Address window, margins, fold marks.
Address checking
UK postcode validation before you pay.
Duplicate protection
So a retry is not a second letter.
Budgets and approval
A cap, and a way for a person to say yes.
An evidence trail
What was sent, when, and who approved.
With Atomside1 key
One key
Authorization: Bearer as_live_…
All six are done for you on every call. We hold the supplier accounts and absorb their quirks.
Control
Built so an agent cannot surprise you
Offline actions cost money and cannot be undone. Here is what happens when an agent gets it wrong.
The agent retried six times
One letter posted
Every send carries an idempotency key. The five repeats returned the same letter and cost nothing.
The next letter went over budget
It waited for you
Budgets per key
Daily and monthly caps. When a cap is hit, work stops.
Human approval
Hold everything, or only jobs above a price.
Per-recipient limit
A loop cannot write to the same person again and again.
Verified sender
A fixed identity the agent cannot change.
Audit trail
Who asked, who approved, what it cost.
Free test mode
The full flow, touching nothing real.
Proof
Your agent cannot see a post box. You get the record.
Every letter gets a record: the exact file, its hash and a time for every stage. Hand it to a client or keep it on file.
The foot of the letter
…please get in touch if anything here is unclear.
Yours sincerely,
A. N. Other
Example Lettings Ltd
Posted via Atomside
The record
ltr_7f3k92qd
- file
- proof.pdf · 1 page
- sha256
- 3f9a 61d0 8b27 e4c5 … c2e1
- sender
- Example Lettings Ltd (verified)
- approved
- account owner, 15:51
- posted
- 16:02
Sample letter and record. Field names are illustrative.How we keep agents accountable
Integrate
Live in the time it takes to paste a prompt
- Sign up and copy your test key
- Paste the setup prompt into your agent
- Look at the proof it sends back
Add the Atomside MCP server at mcp.atomside.com using my test key. Then quote a one-page test letter to my own address and show me the proof.
{
"mcpServers": {
"atomside": {
"url": "https://mcp.atomside.com",
"headers": {
"Authorization": "Bearer as_test_..."
}
}
}
}Illustrative. Hosts and field names are not final.
# quote_letter: validate, render the proof, return the price. Nothing is charged.
curl https://api.atomside.com/v1/letters/quote \
-H "Authorization: Bearer $ATOMSIDE_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": { "name": "Ms A. Sample", "line1": "12 Specimen Road", "postcode": "XX1 1XX" },
"content_markdown": "Dear Ms Sample, ...",
"class": "second"
}'
# send_letter: commit the quote. A retry with the same key sends nothing new.
curl https://api.atomside.com/v1/letters \
-H "Authorization: Bearer $ATOMSIDE_KEY" \
-H "Idempotency-Key: rent-reminder-2026-11" \
-d '{ "quote": "qt_7f3k92qd" }'
# get_letter: status, timeline and the evidence record
curl https://api.atomside.com/v1/letters/ltr_7f3k92qd \
-H "Authorization: Bearer $ATOMSIDE_KEY"Illustrative. Hosts and field names are not final.
# Test key: posts nothing, charges nothing
export ATOMSIDE_KEY=as_test_...
# quote_letter
atomside letters quote --to "Ms A. Sample, 12 Specimen Road, XX1 1XX" --file reminder.md
# send_letter, with an idempotency key
atomside letters send qt_7f3k92qd --idempotency-key rent-reminder-2026-11
# get_letter
atomside letters get ltr_7f3k92qdIllustrative. Hosts and field names are not final.
[Final prompt wording, once the server address and key flow are fixed]
The platform
One action today. The same four steps for the rest.
Signed-for delivery
A signature and a delivery record.
Request access to Signed-for deliveryCourier
A collection and a same-day drop.
Request access to CourierPrinted packs
Bound documents and forms.
Request access to Printed packsInbound post
An address your agent can read replies from.
Request access to Inbound postIn-person tasks
A vetted person to collect or check something.
Request access to In-person tasks
Dashed means not built yet. Requests decide the order.
Pay per letter. Nothing monthly.
Letters from £1.50. You pay with prepaid credits, so an agent can never spend more than you have put in. Failed sends go back to your balance.
See pricingDo I need my own printer or Royal Mail account?
No. One Atomside key covers it.
How do I stop an agent overspending?
Set a daily and monthly budget on each key. Anything over it waits for a person.
What is not allowed?
Collecting debts for someone else, unsolicited consumer marketing, impersonation, and threats or harassment. Chasing your own invoices is fine.
Do you cover anywhere outside the UK?
No. UK addresses, UK suppliers, prices in pounds.
Be one of the first to post a letter
We are opening Atomside to a small group first. Join the preview and we will set you up with a test key, then a live one.
No card. Test mode is free and posts nothing.