Payments flow
Production send flow for remittance and wallet apps.
- Web
- React Native
- Flutter (CosmJS)
// 1. Resolve: safHandle.getAddress('alice') — see ../safhandle/resolve
// 2. Connect signer: Cosmos Kit or CosmJS
// 3. Simulate + sign + broadcast
const res = await client.sendTokens(
sender,
resolvedAddress,
[{ denom: 'usaf', amount: '1000000' }],
'auto',
'payment memo',
);
See Resolve handles and Register.
Same steps with CosmJS + SecureStore or WalletConnect signer. Follow Keys and UX for confirm screen copy.
// 1. Resolve: safHandle.getAddress('alice')
// 2. Connect signer: CosmJS or Cosmos Kit WalletConnect
// 3. Simulate + sign + broadcast
const res = await client.sendTokens(
sender,
resolvedAddress,
[{ denom: 'usaf', amount: '1000000' }],
'auto',
'payment memo',
);
See Flutter guide and SafHandle resolve.
Checklist
- Show resolved address before sign
- Display fee estimate from simulate
- Handle sequence errors with account refresh
- Link tx hash to explorer