Testnet only. tUSD and mUSDC have no value. The bridge uses one trusted relayer.

Docs

How Talaria works

Stripe for Portaldot, with a refund button. Stripe is only a comparison: Talaria has no link to it. This is a testnet build, with test tokens and no audit.

The payment flow

Every payment takes the same path: a signed intent, a policy check on-chain, execution by a relayer that pays the gas, and a receipt event.

Reputation changes what happens next. The relayer reads a seller's or agent's ERC-8004 reputation on Base Sepolia and signs a short-lived attestation, and the contract checks it inline.

TierConditionHold on a paymentAgent cap per payment
TrustedScore 80+, with 3+ feedbacksInstant100 tUSD
EstablishedScore 50–7910 minutes25 tUSD
New or lowUnder 50, or no attestation30 minutes5 tUSD

These are demo values, fixed at deployment. Buyers can dispute while a payment is held, and an arbiter resolves the dispute. Merchants can also refund. When a payment is released, or a dispute refunds 50% or more, feedback is written back to Base.

Ways to build

SDK: add payments from TypeScript.

MCP server: give an AI agent payment tools under on-chain limits.

What runs where

FeatureWhere it runs
Checkout, buyer protection, mandates, bridge-outPortaldot V3 testnet
Subscriptions, streaming, pay-per-call, remittanceBase Sepolia, on a second copy of Core. Not on Portaldot yet
Funding into PortaldotBase Sepolia and BNB testnet
Bridge-out destinationBase Sepolia has run. BNB testnet is enabled but has not been run

Network

ItemValue
Chain ID420420777
EVM RPChttps://test-evm-rpc-v3.portaldot.dev
Substrate WebSocketwss://test-node-v3.portaldot.dev
Native tokentPOT. Signed actions don't need it, because the relayer pays the gas

Contracts

ContractChainAddress
TalariaUSDPortaldot0x44bc5dcfba3f36fb03623a27e553cdbb0b8877f0
TalariaCorePortaldot0x69d4105479e25503f296797b91901ab558c830ac
TalariaProtectPortaldot0xc2e44329d071dd9683f2050e943dde19dac145e1
TalariaBridgeOutPortaldot0x40b43930a97f328bc3325adb22ec0f01a5432320
MockUSDCBase Sepolia0x44bc5dcfba3f36fb03623a27e553cdbb0b8877f0
TalariaLockboxV2Base Sepolia0xc8675f5a54bdfd78d6ffbed8551393c8e462b1bd
TalariaCoreBase Sepolia0x41b0e2fa8a49d5289f9f03b46228b6362da99455
TalariaSubscriptionsBase Sepolia0x394cb7bd33e1745a1f4b3d70bef7a8f742211627
TalariaStreamsBase Sepolia0xf44780000c3b19f8dff8c08ba0b66518e8994a9f
TalariaChannelsBase Sepolia0x31849ec8ed12c615c02292a664988281c0dece67
TalariaRemitBase Sepolia0x126e6de91575c17d02d76b0f723c7bfab6c536d1
MockUSDCBNB testnet0x44bc5dcfba3f36fb03623a27e553cdbb0b8877f0
TalariaLockboxV2BNB testnet0x67e3e8d6185f2e57c60d63b81fc1376ff120b467

Deploy transactions and every recorded payment are in the evidence log.

Run it yourself

Requires Node 22.5+ and pnpm.

git clone https://github.com/Stella112/Talaria.git
cd Talaria
pnpm install
cp .env.example .env
pnpm --filter @talaria-pay/web build
pnpm --filter @talaria-pay/web start

The web app reads live testnet data with no key. The relayer, agent and deployment steps are in the README.

What you're trusting

A single attester signs reputation scores, a single relayer runs the bridge, and an admin arbiter decides disputes. Read the full security notes.