Transactions
Overview
Things to know about transactions:
- Transactions are initiated through the Lockbox SDK.
- Your app can send transactions only to pre-registered smart contracts.
- New users have default payment thresholds for specific ERC20 tokens and RON token.
- Users can increase their payment limits by implementing additional security measures.
Transaction flow
Every transaction on the MPC wallet is initiated through a Lockbox SDK call. The SDK generates a transaction JSON object that is sent to the Gateway. The Gateway checks the transaction policies and, if the transaction meets the requirements, sends the transaction to the backend for signing. The backend signs the transaction using MPC and sends the signed transaction to Ronin. Ronin then sends the transaction hash back to the app.
Transaction policies
Transaction policies are a set of requirements that must be met before a transaction can be signed by MPC.
Two groups of transaction policies exist:
- App-specific policies
- Global user policies
App-specific policies
An app-specific policy defines a list of smart contracts that an app with a specific appID
can interact with. The app developer must register the smart contract addresses with Sky Mavis as part of the getting started process.
Then when a user interacts with the app, the app sends the appID
and the access token to the Gateway. The Gateway checks the app-specific policy to ensure that the user is allowed to interact with the specified smart contracts.
For example, the policy JSON object might look like this:
{
"appID": "12a34...",
"AllowlistContract" : ["0xabc...", "0xdef..."]
}
Apps using ERC721 and ERC1155 token contracts should use a Proxy model for contract deployment.
Global user policies
The global user policy defines the payment limits for each user. The policy is divided into two levels:
Default payment limitation (level 1)
When a user creates a new account, this policy applies by default. It is also referred to as the level 1 payment limit.
Token | Limit per transaction | Daily accumulated limit |
---|---|---|
AXS | 50 | 300 |
RON | 1000 | 5000 |
USDC | 1000 | 5000 |
WETH | 0.1 | 0.3 |
Advanced payment limitation (level 2)
When users take additional security measures, such as turning on MFA (multi-factor authentication), their payment limit is raised to level 2, which allows policy customization.