Tempo
AlphaUSD with the payment id as the TIP-20 memo; the operator pays the fees.
What runs on Tempo
- Payments move AlphaUSD, a TIP-20 stablecoin, on Tempo Moderato.
- Every transfer carries its payment id as the TIP-20 transfer memo (32 bytes; a longer id is hashed to fit).
- The operator's treasury co-signs every transfer from a Dial wallet as fee payer, and fees are paid in AlphaUSD, so Dial wallets only ever hold the stablecoin.
- A transfer counts as delivered only when its Transfer log shows the amount reaching the recipient: a receive policy can block funds in a transaction that still succeeds.
- On testnet the treasury tops itself up from the Tempo faucet when it runs low.
- Pay pages (/@handle) give an EIP-681 link with the token and Tempo's chain id.
- Split payments: "split $30 between @a @b @c" pays everyone their share in one Tempo transaction.
Try it
Test money only. Tempo is switched on here, so this settles on Tempo Moderato.
Text it
1 · Text hi and reply with a name. That's the signup.
Text hisend @handle $1 on tempoOn a laptop? Scan to open it on your phone
Swap @handle for anyone on Dial, or for a phone number. The operator texts back a 6-digit code; reply with it, and the receipt links the transaction. Your first payment on Tempo opens a wallet there with a small drop of test money.
Watch it settle
No payment on Tempo Moderato yet.
The newest payment on Tempo Moderato, from the ledger. Checks again every 30 seconds.
From an agent
send_payment {"to":"@handle","amountUsd":"1","chain":"tempo"}The tool returns awaiting_approval, and the person who pays approves it by text. Setup is on /agents.
ethereum:0x20c0000000000000000000000000000000000001@42431/transfer?address=<wallet>&uint256=1000000Every pay page (/@handle) shows this link with the person's own address in place of <wallet>.
Built for Tempo
What Tempo lets the operator do beyond sending money, each with a demo you can use here. The demos only read: they send no texts and move no money.
Split payments
One payment to several people, settled as one transaction.
- Text "split $30 between @a @b @c", or "split $30 with @a @b" to take a share yourself. Agents use the split_payment MCP tool. Up to 10 people, and the shares differ by at most a cent.
- One code approves every share. All the shares go in one Tempo transaction, a list of TIP-20 transferWithMemo calls that run atomically: every share lands, or none do.
- Each share carries its own payment id as its memo. A share for someone not on Dial yet lands in a wallet held for them, in the same transaction, and waits to be claimed.
Split preview · Tempo
All the legs settle in one transaction: they all land or none do. This preview sends nothing.
On the ledger
Read from the ledger on every visit. A chain is marked Live only once a payment has settled on it.
Code
- Tempo adapter
src/lib/settlement/tempo.ts - Tempo adapter tests
tests/settlement/tempo.test.ts - Chain registry
src/lib/settlement/registry.ts - Pay links
src/lib/pay-links.ts