See what every agent spent, and who allowed it.

Every purchase your agents make sits beside the limit it ran under, the person who approved it and a receipt the seller keeps too. You close the month from one history, not a stack of card statements.

tollrelay.com/org/acme/history

History

TimeEntrySellerPaid withAmountApproved byAsked byDeviceOutcomeReceipt
2026-09-30 15:12:40 UTCTurned awaydata.example.comnonenonenonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
nonercpt_eu_d80e0a20fec46a1f9143bae3f4ade866
2026-09-30 14:20:05 UTCPurchasegpu.example.com/v1/jobsx402$12.60nonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
Seller disputed: Over the agreed amountrcpt_eu_e2738fa222497dae7860f9c8553cc528
2026-09-30 13:05:31 UTCSent to a persontools.example.comnonenonenonenonenonenonercpt_eu_4729775619ed39932487973c369ccc74
2026-09-30 11:47:02 UTCPurchasedata.example.com/v1/datasetsx402$60.00nonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
nonercpt_eu_5e9121abf78baa1078901a44416c840e
2026-09-30 11:46:41 UTCApproveddata.example.comnonenoneA personnonenonenonercpt_eu_0d743f0dbfd6bf7214d4169de25204dc
2026-09-30 11:45:58 UTCSent to a persondata.example.comnonenonenonenonenonenonercpt_eu_4ee5588f7595b3414c034c21df396bc6
2026-09-30 10:44:30 UTCPurchaseparts.example.com/v1/ordersx402$1,840.00nonenoneHardware
ZsT3kQ0bN8vYh2LmRtWd4nBc8eJf6UaZ1oXgTiNKqXE
nonercpt_eu_30165a97499986845f54ef67d483ce57
2026-09-30 10:44:12 UTCApprovedparts.example.comnonenoneA personnonenonenonercpt_eu_b47c27e12f31974792bf472cfb3c611d
2026-09-30 10:42:50 UTCSent to a personparts.example.comnonenonenonenonenonenonercpt_eu_57ea61f5091ab0776d9f60a6e57942e8
2026-09-30 09:58:20 UTCPurchasedata.example.com/v1/datasetsMPP$45.00nonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
nonercpt_eu_82eb45dc66cf07c52a0b6e290260e38e
2026-09-30 09:12:07 UTCPurchasesearch.example.com/v1/searchx402$45.00nonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
nonercpt_eu_262f4f2f596f7f8fed95d9337923d876
2026-09-30 08:39:20 UTCPurchasegpu.example.com/v1/jobsx402$18.00nonenoneA key service
kP3vQ7xLm2RtYh9sWd4nBc8eJf6UaZ1oXgTiNrVyHqE
nonercpt_eu_e2e8e8d03700763f1483a52ab73c9f76
2026-09-30 08:39:02 UTCApprovedgpu.example.comnonenoneA personnonenonenonercpt_eu_a7e6641b141be4112a576c6a8f11ba01
2026-09-30 08:38:05 UTCSent to a persongpu.example.comnonenonenonenonenonenonercpt_eu_2d03547e9795e808b0c729307c7f9cab

The dashboard's history, filtered to September, with sample data.

Why not a virtual card with a limit?

A card can cap what gets spent. But it tells the seller nothing about which company sent the agent or who approved the purchase.

Many agents don't pay by card at all. They pay from a wallet over x402 or MPP, where a card's limit never comes into it.

TollRelay brings those purchases into one history, with who approved each one and a receipt the seller keeps too. Card spend outside x402 and MPP isn't part of it, though.

Three things you check on any purchase, answered from its history

Who allowed this?

Someone in your organisation approved anything above the line you chose, on a screen no agent can reach. That approval sits in the history beside the purchase, with its time.

Entry
Approved
Approved by
A person
Time
2026-09-30 10:44:12 UTC

Was it inside the limit?

The seller checks before it serves and the wallet checks before it pays. A purchase over the limit can't go through, and you'll still see the attempt in your history.

Limit
$5,000 a day, up to $2,500 a call, parts.example.com and tools.example.com
This order
$1,840.00
Checked by
The seller, then the wallet

Does the seller agree?

The seller writes the same receipt id into its own ledger. Reconciling comes down to matching two ids.

Your receipt
rcpt_eu_3016…ce57
Seller's receipt
rcpt_eu_3016…ce57
Paid with
x402

Whatever a seller's page tells an agent, it can only spend the limit a person signed.

And if someone steals one of your agents' keys?

They can spend what that agent could and nothing more. That's the limit you signed, at the sellers you named if you named any. Every seller that checks reads that limit before it serves, and once your wallet is connected, it declines anything over the limit too.

They can't raise the limit, because a new one needs a person to approve it on a screen no agent can reach. The key isn't with us either. It's made on the agent's own device, and we only keep the public half, which can check a signature but can't make one.

Once you revoke the key in the dashboard, every seller's check turns the agent away within five minutes. Every attempt a seller checked is in your history.

Your history stays where you chose to keep it

You choose the EU or the US when you sign up, and the history never leaves it. Nothing in it is ever edited. A correction goes in as a new row, so what an auditor reads is what actually happened.

We never hold or move your money. Your agents pay from the wallet you already use, and we set each agent's limit inside it.

Pricing

PlanPriceWhat it includes
StartFreePasses, limits and history, without the verified mark
Verified companyYearly, by agentsYour company verified, approvals by one or two people, export
Platform licenceYearly, per businessFor a platform that runs the check for many businesses

Close next month with every agent's spend accounted for.

Installing it yourself? See how it works for engineering.