Skip to main content

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..."]
}
info

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.

TokenLimit per transactionDaily accumulated limit
AXS50300
RON10005000
USDC10005000
WETH0.10.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.