WebSoroban/PayLoop

Subscriptions that never take custody.

Sign one USDC policy: merchant, amount, interval, and a safety cap. The first charge settles atomically, the relayer charges on schedule, and you can pause or revoke from your wallet at any time.

Read the guide
fig. 01 · a policy, as the contract sees it
policy #41 active
merchant
GBWJ…XMKZ
amount
9.99 USDC
interval
30 days
cap
119.88 USDC
charged
3 of 12
schedulenext in 27d

Funds stay in the wallet until a charge is due. Pause, resume, or revoke from the wallet at any time.

01

Non-custodial

An allowance equal to what your policies may still charge. Nothing is pre-funded.

02

On schedule

Anyone may trigger a due charge, but only to your merchant, for your amount.

03

Yours to stop

Pause, resume, or revoke on-chain. Revoking shrinks the allowance.

01Subscribe

Connect, fund, sign.

Every action is signed by your wallet. WebSoroban never holds a key, and funds stay in your wallet until a charge is due.

02Merchants

Accept PayLoop subscriptions in your app.

Read policies by merchant from the PayLoop API, grant access while a policy is active, and react to charges as they land. The contract and relayer do the rest.

Read the integration guide
server.ts@web-soroban/payloop
import { createPayLoopClient, verifyWalletSignature } from '@web-soroban/payloop'

const payloop = createPayLoopClient({ network: 'mainnet' })

const plan = await payloop.activeSubscription({ subscriber, merchant, amount: '9.99', intervalSeconds: 2592000 })