Using Agent Cash
Caishen SDK provides the only wallets which support gasless stablecoin swaps, powered by Agent Cash.
Cash is a chain-abstracted, gasless stablecoin system designed to make stablecoin transfers seamless, fast, and free.
π What is Cash?
Cash is an internal ERC-20-compatible asset that abstracts away the complexity of stablecoins across chains. It enables instant, gasless transfers between wallets without needing users to worry about:
Native gas tokens (e.g., ETH, MATIC)
Stablecoin formats (e.g., USDC vs USDT)
Blockchain networks (e.g., Arbitrum, Base, Solana)
π§ͺ How It Works
Deposit: Users deposit supported stablecoins (e.g., USDC, USDT) from chains like Arbitrum, Base, or Solana.
Issue: The system issues equivalent Cash tokens 1:1, held in an abstracted balance.
Send: These Cash tokens can be sent to any wallet address instantly with zero gas cost.
Withdraw: When users withdraw, their Cash tokens are burned and they receive the original stablecoin on the selected chain.
β οΈ Different combinations of
agentId
anduserId
result in separate Cash balances.
β
Benefits
πΈ Gasless transfers (no ETH/SOL required)
β‘ Cross-chain abstraction
π Simple send/receive interface
π Fully backed, 1:1 redeemable
π¦ Cash Accounts
π° Get Account Balance
Get current balance of all tokens for a specific account.
Parameters
account
number
The account identifier
Returns
'BalanceResponse'
π Example
balance = await sdk.cash.get_balance({"account": 1})
π΅ Deposit
Deposit a supported token into the account.
Parameters
params
DepositCashParams
Token and amount info
Returns
TransactionResponse
π Example
await sdk.cash.deposit({
"account": 1,
"tokenAddress": "0x...",
"amount": "1000000000000000000"
})
πΈ Withdraw
Withdraw a supported token from the account.
Parameters
params
WithdrawCashParams
Token and amount info
Returns
TransactionResponse
π Example
await sdk.cash.withdraw({
"account": 1,
"tokenAddress": "0x...",
"amount": "1000000000000000000"
})
π Send
Send supported tokens between accounts.
Parameters
params
SendTransactionParams
Token, to/from, etc.
Returns
TransactionResponse
π Example
await sdk.cash.send({
"fromAccount": 1,
"toAccount": 2,
"tokenAddress": "0x...",
"amount": "1000000000000000000"
})
πͺ Get Supported Tokens
tokens = await sdk.cash.get_supported_tokens()
π Types
TokenWithPrice
TokenWithPrice
type TokenWithPrice = Token & {
priceUSD: str;
}
Last updated