Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The NuvoSphere Inscription Platform is designed for seamless interactions with EVM-compatible blockchains. It integrates key components including a blockchain event indexer, a user-friendly frontend, and a comprehensive REST API, making it an all-encompassing platform for managing blockchain transactions.
Aiming to provide a streamlined experience, the platform simplifies various blockchain operations like token deployment, minting inscriptions, and transaction management. It is tailored to cater to a wide range of users, from beginners to experienced developers, ensuring accessibility and efficiency.
Click "Connect Wallet"
Select Connect Wallet through Nuvo or Metamask
(You are recommended to connect via Nuvo as your referral and transaction activities will be tracked through your Nuvo account, and you may be eligible for fee rebates and other benefits)
(Through Nuvo)Choose to login either through email, google account and more
(Through Metamask)Enter credential of your Metamask plugin and approve metamask permissions to login through Metamask.
Progress Indicators: When a transaction is initiated (deploy, mint, transfer), the interface displays a progress indicator.
Confirmation Messages: Upon successful completion of a transaction, a confirmation message is displayed.
Error Notifications: The interface provides clear error messages for failed transactions or issues.
Guidance: Suggestions for corrective actions in case of errors are provided.
Transaction Status: Updates on transaction status (pending, confirmed, failed) are displayed.
Wallet Connectivity: Notifications regarding wallet connection status are shown.
https://nip-api.nuvosphere.io.Currently, the API does not require authentication. This may change in future updates.
The API is designed for efficient interaction with blockchain data.
Users should respect rate limits to ensure service stability.
Requests should be properly formatted according to the specifications of each endpoint.
Jan 19: Due to an error in the smart contract, we need to override the contract address of NUVOGENESIS by replacing "0x6c38B96C3417D46431906744B0D2D605dEA30fd3" with "0x213675a2BdF53F910972E43166165a08f1AD4489" when indexing block 11097263
Coming soon ......
In this guide we describe step-by-step guide to develop, test and deploy a Nuvo badge project. The main steps are
Access Nuvo One test environment
Create a new application
Issue Nuvo Badge
Test Nuvo Badge on testnet
Deploy Nuvo Badge project on main net
<Note> It may take time for the process, there will be a slight delay in API queries related to NFT transactions
Coming soon ......
GET /deployment/:tickerRetrieves deployment details for a given ticker, such as contract address and deployment parameters.
ticker: The ticker symbol of the token (path parameter).
404 Not Found: If the ticker has not been deployed.
500 Internal Server Error: For server-related issues.
GET /deployment/ETH{
"deployment": {
"contractAddress": "0x789ghi...",
"maxAmount": 1000,
"mintLimit": 100,
// ... other deployment details
}
}
The REST API of the NuvoSphere Inscription Platform provides programmatic access to blockchain operations. This section documents each endpoint, detailing request formats, responses, and examples.
Describes the base URL, authentication methods (if any), and general usage guidelines.
Each endpoint is documented with:
Path: The URL path of the endpoint.
Method: HTTP method (GET, POST, etc.).
Parameters: Required and optional parameters.
Request Example: Sample request format.
Get Next ID for Minting
Path: /:ticker/nextid
Method: GET
...
Code snippets or example requests to demonstrate how to interact with each endpoint.
Information on how the API communicates errors and how to interpret th
GET /:ticker/checkid
Determines if a specific ID is available for minting under the given ticker.
ticker: The ticker symbol of the token (path parameter).
id: The ID to check for availability (query parameter).
400 Bad Request: If the ID is invalid or not provided.
404 Not Found: If the specified ticker does not exist.
500 Internal Server Error: For server-related issues.
GET /:address/:ticker/:target/delegation
Return delegation amount of a ticker from address to a target address before a maximum height.
address: The address to delegate from (path parameter).
ticker: Ticker symbol (path parameter).
target: The address to delegate to (path parameter)
height: Maximum revoke height (Optional query parameter)
500 Server Error: For server-related issues.
Once all information is filled, we can now deploy Nuvo Badge project on testnet.
GET /:ticker/nextid
Retrieves the next available ID for minting a new inscription for the specified ticker.
ticker: The ticker symbol of the token (path parameter).
404 Not Found: If the specified ticker does not exist.
500 Internal Server Error: For server-related issues.
https://badge.nuvosphere.io/
You can navigate to NuvoBadge Claim by the URL directly or you can find the link in NuvoMe
Once you have completed the requirements and are eligible to claim the badges, you can navigate to NuvoBadge Claim. If the badge is distributed by QR code, you can scan the QR code and claim the badge. Else the badge is distributed by redemption code or whitelist, you can navigate to the CLAIM page and claim the badge with your redemption code provided by the Dapp owner and wallet address directly.
We recommend reading How to issue NFT Badge and set up the campaign for more detailed description on setting up Badge campaign. For distribution method, we recommend using "mass distribution with 1 QR code", which is currently the most well-supported method.
The Dapp developers can create an application through the Nuvo platform and get the API Key for future development. To create a New App we will need you to enter with App Name, User Support Email, choose your App Logo, Dapp URL link, Dapp Authorized Domain, Dapp Permission, and Developer information.
When your first Dapp is created then you can find the Dapp Key and Id on the Dapp Credentials. This credential is required when you are using API to call the Dapp.
When signed in, click wallet address
Click “My account”
You may now view your total asset, NuvoBadge status, RP, rebate, and more.
Reputation Power (or RP) is accrued by performing actions on-chain. Each action has its own RP value set by projects, allowing projects to reward community members and Dapp users for valued achievements and milestones. For example, a DEX might value governance voting more heavily than trade executions, as an action that helps the project shape the future of its design; therefore, the project can award more RP for voting than trading on the DEX.
RP accrual is a bit like earning XP in a video game. Similar to a game, individuals can earn RP to level up and gain benefits like the ability to mint nontransferable NFT Badges on their Nuvo profile, representing milestone achievements on-chain. NFT Badges are issued by Nuvo or other Dapp on Andromeda and are tied to a user’s wallet address on the Nuvo network. Individuals will be able to build their own profiles, check out new RP features, and look up profiles for other users and DACs. Long-term community engagement is empowered, even adding a social element for communities to uniquely reward users for their engagement and contributions.
👋 Hi! Welcome to Nuvo. This guide will teach you the principle of optimizing your NFT badge design.
The NFT badge comprises a pattern (image) and badge shell. The Dapp's / NFT badge issuer is responsible for designing the pattern (image). The badge shell's color depends on the Reputation Power(RP) you set. The design will then be combined with the badge shell to form a unique NFT badge.
Nuvo provides a ready-to-use sandbox environment for badge issuers. Simply go to one.staging.nuvosphere.io to access this sandbox enviroment. There are many ways to register or login to the environment, in this guide we use metamask as an example.
Click the Metamask icon and bring up Metamask approval page
Click "Sign" button to login to the sandbox environment.
There is an important discussion around Web 3.0 about the ability to manage the identity and reputation of each user that joins the platform. Reputation is very important in our physical world that helps financial processes perform without any issues. To prove the trustworthiness and reliability of the new Web platform, Dapp owners must consider reputation power when using Web 3.0 features.
If mint is successful, user will be automatically redirected to the "owned token" page. You can exam your owned tokens here.
One logged into the Nuvo One dashboard, we first need to create an application associated with the Nuvo Badge. To do this, click the "Application" menu item on the left menu bar, and click "Create" button (or click "Create New App" tab).
Fill in all the requried field of the application and click "save"
Once your Nuvo Badge is live on test environment, and got tested well, we will be ready to deploy it on production environment! Simply go to one.nuvosphere.io and repeat the previous process. Note to select Metis mainnet (Andromeda) instead of testnet.
Finally, this is a quick step-by-step guide to get new user of Nuvosphere start quickly. For more comprehensive documentation, please refer to for more details.
Search token name via search bar or through the list
Click the selected token
(On the right hand side) enter the amount you wish to mint. It can not be more than the amount limit per mint
Response Example: Example of the expected response.
Error Responses: Common error codes and their meanings.
Check ID Availability
Path: /:ticker/checkid
Method: GET
...
Transfer Ownership
Path: /message/transfer/:ticker/:id
Method: GET
...
Access Wallet Connection: Click on the 'Connect Wallet' button.
Select Wallet: Choose your wallet from the list provided by the Web3Modal.
Authorize Access: Confirm the connection in your wallet.
Navigate to Deploy Tab: Select the 'Deploy' tab in the interface.
Enter Details: Fill in the token ticker, max amount, and mint limit.
Deploy: Click the 'Deploy Token' button and confirm the transaction in your wallet.
Select Mint Tab: Go to the 'Mint' tab.
Input Details: Provide the ticker, amount, and recipient address.
Mint Token: Click 'Mint Token' and confirm the transaction.
Access Owned Tokens: Switch to the 'Owned Tokens' tab.
Initiate Transfer: For the chosen token, enter the recipient's address.
Confirm Transfer: Click the 'Transfer' button and approve the transaction in your wallet.
Nuvo Power System: The Nuvo backend which empowers every Andromeda Dapp to deploy and issue their own NFT Badges as well as the Nuvo Power which is the frontend user portal for interacting with all things RP.
NFT Badges: As the first integration of Reputation Power, the Nuvo team and projects on the network will release the first wave of RP NFT Badges. NFT Badges will be issued to eligible users based on multiple categories such as early usage of Andromeda or governance voting.
Event Listening: Continuously monitors blockchain events.
Data Indexing: Indexes data from events for efficient retrieval and processing.
Deploy, Mint, and Transfer: Processes these operations based on predefined message formats.
Ownership Tracking: Maintains a record of token ownership from minting through subsequent transfers.
Parses and processes events related to token deployment, minting, and transfer.
Contract Events: Additionally handles specific contract-emitted events that allow for token transfers, enhancing the platform's integration with smart contracts.
Robust validation mechanisms ensure data integrity and correct operation.
Error handling manages parsing errors, invalid data, and communication issues with the blockchain.











Nuvosphere appears to provide a suite of four different platforms to serve the needs of web2 and web3 users. Here is some more information about each platform:
NuvoOne -
This is a middleware that developers can use to build decentralized applications (dapps), smart contracts, and NFT badges. Providing a common set of services that multiple applications can use. NuvoOne provides developers with tools and services to create decentralized applications that can interact with the blockchain.
NuvoMe -
This is an end-user platform that allows users to own transaction wallets and personal profiles. This platform enables users to securely manage their digital assets, interact with dapps, and control their own data. With NuvoMe, users can also access and manage their NFT badges.
NuvoID -
This is a platform that allows end-users to mint their own web3 avatar. An avatar is a digital representation of a user in the virtual world. NuvoID enables users to create a unique and personalized avatar that can be used in different applications and platforms across the web3 ecosystem.
NuvoBadge Claim -
This platform enables end-users to claim NuvoBadge. A badge is a digital credential that represents an achievement or a skill. NuvoBadge enables users to earn and claim badges for their accomplishments, which can be used to showcase their skills and knowledge to others.
The NuvoSphere Inscription Platform stands out with several unique features:
Customizable Minting Process:
Deployers can specify contracts to refine controls over the minting process, offering flexibility and enhanced security.
Unique Sequencing for Minting:
While global uniqueness isn’t enforced, the platform ensures a unique sequence in the minting process, making it fairer and more manageable.
Integration with Nuvo Platform:
Fully integrated with the Nuvo platform, providing a range of login methods backed by industry-leading MPC wallet technology.
Marketplace with Derivative Support:
An upcoming marketplace feature will allow easy operation and support for derivatives, broadening the platform’s capabilities.
Snapshot Features for Token Balances:
Periodic on-chain snapshots of token balances are taken, ensuring permanence and reliability of data without the worry of data purges.
These features make the NuvoSphere Inscription Platform a comprehensive, secure, and user-friendly environment for blockchain interactions.
The NuvoSphere Inscription Platform's frontend is designed for ease of use and accessibility, enabling users to interact with the blockchain efficiently.
User-Friendly Design: A clear and intuitive interface for all user interactions.
Functionality Access: Easy access to key features like token deployment, minting, and transferring.
Detailed instructions on navigating the interface, accessing different functionalities, and performing key operations.
Step-by-Step Instructions: Walkthroughs for common tasks such as connecting a wallet, deploying a token, minting, and transferring tokens.
Feedback and Notifications: Information on how the interface provides transaction feedback and status updates.
All Dapp owners can design NFT badges and they help developers trace every user’s credibility within the Web 3.0 ecosystem. An NFT badge is a great approach for Dapps that provides an opportunity to encompass the achievements and acknowledgments of a member.
A social resume in Web 3.0 can be built on the activity of members and their interactions in the ecosystem. This way, members can mint a unique social NFT which will store all their interactions. Thus, a reputation power factor will be created by performing actions in the Web 3.0 ecosystem.
Nuvo provides you with an active and live environment and everyone can mint NFT badges and get reputation power according to contributions to the Nuvo ecosystem.
Nuvo works to give everyone reliable information using the Nuvo RP system and it helps everyone get full insight into members’ social credibility.
As a Web 3.0 enthusiast or Nuvo developer, you can sign up on the Nuvo RP system and help yourself with designing your unique social NFT and enhancing your reputation power.
Starting a social NFT is an opening to get a range of capabilities and fulfill Web 3.0 transactions without any issues.
Singing up on the platform is as easy as ABC and you can deploy NFT badges following a few steps.
GET /holder/NUVOGENESIS?tick=NUVOGENESISGET /mints/:ticker
Retrieves all minted inscriptions (identified by transaction hash) for a specific ticker.
ticker: The ticker symbol of the token (path parameter).
404 Not Found: If no minted inscriptions are found for the given ticker.
500 Internal Server Error: For server-related issues.
GET /tokens/ownedByRetrieves a list of tokens owned by a specified wallet address.
address: The wallet address of the user (query parameter).
400 Bad Request: If the wallet address is not provided or invalid.
500 Internal Server Error: For server-related issues.
GET /message/mint/:ticker/:id/:amountCreates a mint message for a specific ticker, ID, and amount.
ticker: Ticker symbol (path parameter).
id: Token ID (path parameter).
amount: Amount to mint (path parameter).
GET /owner/:ticker/:txhashDetermines the current owner of a specific token, identified by its ticker and transaction hash.
ticker: The ticker symbol of the token (path parameter).
txhash: The hash of the transaction to trace ownership (path parameter).
404 Not Found: If the ticker or transaction hash does not correspond to an existing token.
500 Internal Server Error: For server-related issues.
Get all the tokens deployed on the network.
page: Ticker symbol (path parameter). Optional, default=1
pageSize: Token ID (path parameter). Optional, default=5000
GET /:ticker/:tx_hash/exist
Verifies the existence of a specific minted inscription for a given ticker.
ticker: The ticker symbol of the token (path parameter).
tx_hash: The hash of the transaction that minted the inscription to verify (path parameter).
404 Not Found: If the ticker or transaction hash does not exist.
500 Internal Server Error: For server-related issues.
GET /NUVOGENESIS/checkid?id=2000000{
"isAvailable": true
}GET /0xf9a3020c71Ba4F62364c624242D54a1229f3125F/NUVOGENESIS/0x213675a2BdF53F910972E43166165a08f1AD4489/delegation{
"delegation": null
}GET /0xd8e6e275831070677851bef893f9203254a63a3d6852fe9d951d5c2966642a98/status{"status":"success"}GET /NUVOGENESIS/nextid{"nextId":1013465,"tokenType":"nip-20","contract":"0x213675a2BdF53F910972E43166165a08f1AD4489"}"11939"GET /message/transfer/ETH/1{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"tsf\", \"tick\":\"ETH\", \"id\":\"1\"}"
}GET /mints/ETHjsonCopy code{
"mints": [
{
"tx_hash": "0x789abc...",
"amount": 50,
// ... other mint details
},
// ... more minted inscriptions
]
}GET /tokens/ownedBy?address=0x456def...{
"ownedTokens": [
{
"tokenId": "0x123abc...",
"ticker": "ETH",
"amount": 100
},
// ... more tokens
]
}GET /message/mint/ETH/1/100{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"mint\", \"tick\":\"ETH\", \"id\":\"1\", \"amt\":\"100\"}"
}GET /owner/ETH/0xabc123...{
"owner": "0x123ownerAddress..."
}GET /token/gettokens?page=2&pageSize=1{
"tokens":[
{
"ticker":"10",
"maxamount":"1000",
"mint_limit":"10",
"data":"data:,{
\"p\":\"nip-20\",
\"op\":\"deploy\",
\"tick\":\"10\",
\"max\":1000,
\"lim\":10,
\"contract\":\"0xDe1499B52DAF275F9DcE6630881c93A59Da0224b\",
\"cmint\":1,
\"dataurl\":\"\",
\"of\":\"data:,{
\\\"p\\\":\\\"nip-20\\\",
\\\"op\\\":\\\"deploy\\\",
\\\"tick\\\":\\\"NUVO\\\",
\\\"max\\\":\\\"10000\\\",
\\\"lim\\\":\\\"50\\\"}\"}",
"block_number":"11128992"}
]
}GET /ETH/0x1234abcd.../exist{
"exists": true
}


Access-Token*
String
access token
{
"code": 200,
"data": {
"dapp_permission": 0,
"domains": [
"localhost:1024"
],
"home_page_link":
The color of the NFT Badge shell will change automatically based on the Reputation Power(RP) you determine for that badge. Please refer to the below table for the range of each color.
Please refer to the below checklist before uploading your image.
🤗 Required:
Ensure the image is in either of the format: .jpg, png, webp, or SVG.
Ensure the image size is equal to or below 2M.
🌟Recommended:
It is recommended to upload 600*600 px bitmaps or 1:1 equal scale vector images.
Icon with Alpha transparent layer is better for the badge.
Using a pattern with a contrasting color to the badge shell can make the badge more eye-catching and unique.

In Nuvo, we are aware of the security issues and aim to provide a well-secure environment for our users to engage with. We have provided
1. 2FA Security Verification
You can enhance your security by enabling Email Verification and either Google Authentication or SMS Verification
2. Wallet Password
Setup another wallet password can also enhance your wallet’s security
3. Anti-Phishing Code
By enabling this functionality, you can set up personal email sentences every time you receive an email from Nuvo
4. IP and Devices Logs
By checking the login device's IP address and the browser you are using, we can cross-confirm the login credentials
5. IP Address Verification
By enabling this functionality, you can make sure the account is logged, in through one single IP address at a time

Click Mint token. You will need to have sufficient Metis token as gas fee to proceed
The following dialog will display in order to proceed, click "Accept"
Access-Token*
String
access token
{
"code": 200,
"data": {
"avatar": "https://metis-middleware-us-east-2.s3.amazonaws.com/057a151e83f948d587f0fd10f0e68525",
"display_name": "display name",
"email": "[email protected]",
https://pass.nuvosphere.io/views/myProfile
You can navigate to NuvoPass by the URL directly or you can find the link in NuvoMe
Navigate to NuvoID you will see the personal NuvoID information. Click EXPLORE the displaying badges are all the projects launched in Nuvo and issued with NFT badges.
The first thing first is to mint your NuvoID in Nuvo! Smash the Mascot and navigate to the NuvoID Minting page. Give your avatar a name and pay with a few Gas Fees (Metis token), and you are all set. The avatar is minted by random so be excited about what your unique avatar will look like!
<Figure 1.2> Unique NuvoPass avatar
How do you know which is the best engaging Dapp and the most popular Badges in the web3? Nuvo has provided a Ranking Board for your easy reference to browse through the whole list. There are three types of ranking categories.
1. Dapp Ranking
You will see the Top ranking Dapps with the information on how many NFT Badges have been issued, and how many users have claimed the badges.
2. User Ranking
You will see the most engaged user list with the amount of how many NFT Badges they have claimed and how many RP values they have.
3. NFT Badges Ranking
You will see the NFT Badges top ranking list according to the amount of the minted NFT. The more NFTs being minted the more users get engaged.
To check my personal NFT badge collection and RP value, by clicking on the NuvoID avatar you can see your current Total Reputation Power, Joined Days, Total Badges, and the list of your claimed Dapp list.
https://one.nuvosphere.io/
NuvoOne is a place for developers to dive in and create Domain, Dapps, smart contract, and issue the Nuvo Badge. Check out below to find out more
In Nuvo One Dashboard you can grab the information of all your Dapps and get an idea of the Active users, and API calls based on the different periods of time.
Domain management can let you create a unique domain and associate the domain with the smart contract deployed on multiple chains. Each chain has unique specifications, and contracts on multiple chains have different addresses. Nuvo helps to achieve the feature with Domain management.
A contract associated with a decentralized application can be deployed on multiple chains. Our job is to provide a unique identifier of the contract on any number to manage multiple domains from one central place. Nuvo helps you achieve this feature with domain management options.
Dapp developers can create a unique domain and associate the domain with a smart contract that has been deployed on multiple domains.
The created domain can be simply updated to point to a new contract address.
Other smart contracts can call methods based on the created domain.
Users can trade domains on the domain marketplace.
Global domains are here to help you with APIs and you can use them on the Nuvo platform. You can use global domains to create a decentralized application using the Nuvo dashboard. Global domains are ready to use and provide quick deployment for decentralized apps. Type a keyword in the search box to access the global domain you want in no time.
Nuvo allows you to create a new domain associated with specific smart contracts. Sign up and log in to your Nuvo account and go to the Domain management section to create a new one.
You can create a new domain by clicking on “Create New Domains” and giving the required information to manage everything in Nuvo. The domain name can be anything and you can set the chain ID and the contract address as well.
There is an option to edit each domain, delete the domain, and apply more settings if needed.
Developers can use the “Smart Contract” section on the Nuvo platform to manage their smart contracts and register new ones. Here you have two options that you can use to register a new template or search for created templates.
You need your smart contract code and some information to register a new template. Click on the “Register” icon to proceed. You can register your template in the new window by providing the template name, source code, and some other information.
Querying smart contracts can be done in the “Smart Contract” section. Use the “template name” box to set a name and click on the “Query” icon to proceed.
You can use the “Review Details” button to check the template’s information and customize it to deploy on a specific domain created before.
Production Env
Staging Env
https://api.staging.nuvosphere.io
Step1 - Initiate authorization
Request for log in
description
Step2 - Receive authorized code
After initiating authorization, Nuvo will return_url and code
The developer will receive url(https://demo.dapp.com/callback), keep the code for the access token use
Step3 - Request Access Token
GET /api/v1/oauth2/access_token
Query String: ?appid={appid}&code={code}
code: the code kept from step2
appid: app id that can be acquired from Nuvo One
Once we have created Dapp, the next step is to deploy NFT Badges! Navigate to the Deploy NFT, enter the NFT Name, select the Dapp that you just created, start/end date, define 1-5 levels of your badges, and the last step is to upload the image of your badges.
You can find your deployed NFT badge list on the collections and feel free to adjust the information such as NFT badge name, start/end time, badge image, and also Run Promotion for all of the badges.
Once you have created Dapp and successfully deploy NFT Badges, you can keep moving on to set up the campaign for the Badge.
There are three different distribution ways for you to choose from
Issue Redemption Code - By choosing this option you will be able to get a series number, you can provide the serial number to your eligible users to go and claim the badges. Figure 1.5
Issue Unique Link with QR Code - By choosing this option you will be able to get a QR Code, you can provide the QR Code to your eligible users to go and claim the badges. Figure 1.6
White List(wallet address) - By choosing this option you will be able to provide the whitelist through a txt file or manually input the address, eligible users can claim the badges accordingly. Figure 1.7
GET /transactions/:ticker/:txhash
Retrieves the full transaction history for a given ticker and transaction hash.
ticker: The ticker symbol of the token (path parameter).
txhash: The hash of the transaction (path parameter).
404 Not Found: If no transaction history is found for the given ticker and transaction hash.
500 Internal Server Error: For server-related issues.
Once we have created an application, we are now ready to issue a Nuvo Badge. Simple go to "NuvoBadge Issuer" menu item on the left navigation menu, and click "+ Issue NuvoBadge".
Now we need to fill in information related to the badge.
DApp - this is the application that we just created which is going to be associated with the NuvoBadge project, simply select it from the drop-down box.
Chain - In this case we'll leave the default Goerli test net chain. Note that in production deployment, we should use Metis mainnet (Andromeda).
Badge levels - You can design a badge and RP scheme to suite your project needs. Please refer to for detailed guide.
Badge image - upload your badge image (one for each badge level)
In this session, we will show you how to first use our platform and get started with the web3 decentralized world
`${host}/#/oauth2-login?switch_account=${switchAccount}&app_id=${appId}&return_url=${encodeURIComponent(returnUrl)}`switch_account: switch user account
app_id : Nuvo middleware app id
return_url : Nuvo middleware Authorized DomainsAccess-Token*
String
access token
chainid*
String
chainid
{
"code": 200,
"data": "0.1",
"message": "",
"msg": "",
"msgTitle": null
}Segment #1: Web3 Users:
Integrate the full spectrum of decentralized ID solutions in a single Self-Sovereign Identity, accessible through a single, multichain login, across all platforms.
Regain ownership of data and privacy from the corporations that have repeatedly violated user trust, along with sophisticated data management capabilities to wield unprecedented control over your own data.
Augment and authenticate your digital reputation power, blending your crypto and DeFi accounts, NFT collections, credentials and achievements, and more, through a single metric
Segment #2: Web2 Users
Access the power and possibility of Web 3, without any noticeable change in the user experience, from a single account.
Quit worrying about data breaches or privacy infringement from the tech giants that have repeatedly violated user trust, with ownership of all your own data.
Assimilate your personal information, verified credentials, social clout, and more, within a single Reputation Power metric, derived from your merit, and authenticating your achievements
Segment #3: Web2 Businesses
Retain the benefits of user data access, without the liability of customer data protection, the cost of expensive and unreliable data protection processes, and the stress of hacking and data breach concerns.
Easily deploy the power of Web 3 to give customers the benefits of an innovative, secure, and thriving ecosystem, without intimidating, overwhelming, or forcing them outside their technological comfort zone.
Help users grow their digital reputation with verifiable NFT badges, and enable your business to certify their identity, achievements, finances, and more, with an unprecedented, gamified reputation power system.
Segment #4: Web3 Businesses
Remove the liability of customer data protection, eliminate expensive and unreliable data protection processes, and eliminate hacking and data breach concerns.
Simply deploy Nuvo’s framework for Web3 users, without the need to internally master blockchain technology, and build decentralized data infrastructure.
Extend the benefits of a growing and thriving ecosystem of dApps to customers without removing them from the brand’s current user experience.
Give users the ability to grow their reputation, and verify their achievements, skills, and digital prestige, with an unprecedented, gamified reputation power system.
Segment #5: Developers/Partners
Nuvo’s framework forefronts interoperability and cooperation, allowing partners to focus on perfecting the functionality and capability of their product/service, without having to rebuild the underlying infrastructure.
Reduce the operating overhead and time commitment for your apps and data infrastructure, with an easy-to-maintain framework free of difficult databases.
Nuvo’s collaborative approach to ecosystem building, rather than cutthroat competition, create a ‘sum greater than the parts’ synthesis of products, services, and platforms, instead of siloed market segments disrupting the user experience.























<nuvoid>*
String
nuvo id
Access-Token*
String
access token
{
"code": 200,
"data": [
{
"address": "0xdF58ae1438620EA9E0A7584e6bF23dE505682B21",
"nuvoId": "NUVO3768633"
},
{
"address": "0xa27Dc025431642386B8c15A6941f2943ee2c768c",
"nuvoId": "NUVO3625167"
},
}name*
String
page_no*
String
page_size*
String
Access-Token*
String
access token
{
"code": 200,
"data": [
{
"id": "64358e2c6d81a80a8f79a2a1",
"logo": "https://metis-middleware-us-east-2.s3.amazonaws.com/e53448d326ec57649525e9260ffc831e",
"name": "TEST2"
},
{
"id": "64358d856d81a80a8f79a29f",
"logo": "https://metis-middleware-us-east-2.s3.amazonaws.com/ffb88cab7d2059de9adb6c7ac27dd542",
"name": "DEVTEST"
},
{
"id": "60ed992bb520d95b454c4e88",
"logo": "https://metis-middleware-us-east-2.s3.amazonaws.com/e92579713eca593b89bb6a25e12bf583",
"name": "TEST22"
}
],
"msg": ""
}
name*
String
user name
Access-Token*
String
access token
{
"code": 200,
"data": [
{
"address": "0xdF58ae1438620EA9E0A7584e6bF23dE505682B21",
"id": "64358c626d81a80a8f79a29a",
"username": "xiqing"
},
{
"address": null,
"id": "6438192b6d81a8859af0affd",
"username": "xiqing1_gmail_com"
},
{
"address": "0x831ecAe20AF356Be0D5c04DaEAE409Cc43E8B805",
"id": "6441427f6d81a8afa72cf75e",
"username": "xiqing1_qq_com"
}
],
"msg": ""
}Access-Token*
String
access token
chainid*
String
chainid
{
"code": 200,
"data": "0.1",
"message": "",
"msg": "",
"msgTitle": null
}Access-Token*
String
access token
chainid*
String
chainid
{
"code": 200,
"data": {
"name": "rinkeby",
"symbol": "ETH",
"url": "https://eth-rinkeby.alchemyapi.io/v2/NX86HrTZc6caDu_urojNoCF42rQWZzLf"
},
"message": "",
"msg": "",
"msgTitle": null
}Access-Token*
String
access token
wallet_pwd*
String
RSA Public-key
{
"code": 200,
"data": "OK",
"message": "",
"msg": "",
"msgTitle": null
}Access-Token*
String
access token
{
"code": 200,
"data": {
"percent_change_24h": "0.52024893", //24hr 0.52%
"price:": "1817.680321619358" //latest USD price
},
"msg": ""
}code*
String
the code kept from step2
appid*
String
Nuvo middleware app id
GET /message/deploy/:ticker
Generates a deployment message for a given ticker.
ticker: Ticker symbol of the token (path parameter).
GET /0xf9a3020c71Ba4F62364c624242D54a1229f3125F/NUVOGENESIS/balanceb{"balance":0}https://demo.dapp.com/callback?code=xxxxxxx{
"code": 200,
"data": {
"accessToken": "a7f4216020364aa79d77e18d4965cf2f", //authorized token,use this token to access related api
"appId": "60ed992bb520d95b454c4e88",
"expiresIn": 43200, //valid for 12 hours
"refreshToken": "aab3accb1180410fbe9341fd0db95d94", //Refresh time 30 days
"wcSession": null
},
"msg": ""
}GET /transactions/ETH/0x123456...{
"transactions": [
{
"tx_hash": "0x123456...",
"sender": "0xSenderAddress...",
"recipient": "0xRecipientAddress...",
"amount": 100,
"op": "tsf",
"tick": "ETH",
// ... other transaction details
},
// ... more transactions
]
}GET /message/deploy/ETH{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"deploy\", \"tick\":\"ETH\"}"
}Getting started with Reputation Power(RP) is easy. Our production environment which runs on Nuvo is intuitive and user-friendly. With just a few steps you can create your own Dapp, NFT badges, and campaigns to start engaging with your users. If you are the developer please navigate to the NuvoOne or if you are the user please navigate to the NuvoMe
There are three different ways for you to choose from.
1. Email Login
By entering your email address and getting verification right away, there is no need to remember passwords because we have already taken care of it.
Once you navigate back to Nuvo, you may need to enter your User Name, Display Name, and choose the Storing Methods of your Private Keys. Figure 1.7, 1.8
Choosing self-custody of the PKeys means that you will have complete control over the wallet and must keep the PKeys safely on your own. In the meantime, you can import a wallet from others or create a new one. Figure 1.9
Choosing Nuvo custody of the PKeys means the key is not stored on your own but Nuvo takes the PKeys on your behalf.
2. Metamask
If you are familiar with the web3 wallet, you can use the popular Metamask wallet to log in.
3. Wallet Connect
If the Metamask wall is not your daily drive web3 tool, you can connect with other web3 wallets.
4. Discord
If you are already registered with the Discord community, by verifying the address, you can log in to Nuvo through it.
<Figure 1.3> Login with Email <Figure 1.4> Login with Metamask
<Figure 1.5> Login with WalletConnect <Figure 1.6> Login with Discord
<Figure 1.7> Enter the name <Figure 1.8> The PKeys storing methods
Nuvo continues to enable more integrations by adding more login methods such as mobile phone login, Google account login and integrate with Bitget etc.
page_no*
String
page number
page_size*
String
size of the page
Access-Token*
String
access token
{
"code": 200,
"data": {
"data": [
{
"app_id": "64358e2c6d81a80a8f79a2a1",
"app_name": "TEST2",
Access-Token*
String
access token
from*
String
0xdF58ae1438620EA9E0A7584e6bF23dE505682B21
to*
String
0x2dF58ae1438620EA9E0A7584e6bF23dE505682B21
amount*
String
100
symbol*
String
Metis
{
"code": 200,
"data": "Ok",
"msg": ""
}Access-Token*
String
access token
receiver*
String
user name
chainid*
String
chainid
amount*
String
amount
symbol*
String
token name
{
"code": 200,
"data": {
"amount": "10000000000000000",
"chain_url": "https://goerli.gateway.metisdevops.link",
"from": "0xdF58ae1438620EA9E0A7584e6bF23dE505682B21",



Understanding protocol-level operations is key for interacting with the blockchain. This section explains how deploy, mint, and transfer messages function, including where they are sent.
GENESIS BLOCK: 11097263
General Rule:
All operations, whether they are part of the tx.data or as emitted contract events, are processed based on the order of the blocknumber and tx_index within the block in a deterministic manner. Future operations will not ever change the outcome of the past events.
Messages are sent as transaction data to the blockchain.
Any data that conforms with the open dataURL format are recognized as an inscription. For example: 'data:,{"p":"nip-20", "op":"deploy", "tick":"<TICKER>" '
However, the validity of the message are determined according to the following rules
Message: {"p":"nip-20", "op":"deploy", "tick":"<TICKER>", "max":<MAXAMOUNT>, "lim":<MINT_LIMIT>, "contract":<optional:ADDRESS>, "cmint":<optional:bool>}
Recipient: Can be sent to any address.
Validation:
Message: {"p":"nip-20", "op":"mint", "tick":"<TICKER>", "id":"<ID>", "amt":"<AMOUNT>"}
Recipient: The address receiving the newly minted token.
Validation:
Message: {"p":"nip-20", "op":"tsf", "tick":"<TICKER>", "id":"<ID>"}
Recipient: The new owner of the token.
Validation:
Message: {"p":"nip-20", "op":"split", "tick":<TICKER>, "id":<ID>, "amt1":<AMOUNT1>, "amt2":<AMOUNT2> }
Recipient: The owner of the two splited inscriptions.
Validation: Confirms TICKER and ID, the tx.hash where the inscription happened,existence, checks sender's ownership. Amount1 + Amount2 should equal to the original minted mount of this ID. two new inscriptions will be minted as a result. the original inscription will be burned.
Message: {"p":"nip-20", "op":"list", "tick":"<TICKER>", "id":"<ID>"}
Recipient: must be the owner itself
Validation:
Message: {"p":"nip-20", "op":"list", "tick":"<TICKER>", "id":"<ID>", "price":<number>, "unit":<UNIT>}
Recipient: must be the owner itself
Validation:
Message: {"p":"nip-20", "op":"ulist", "tick":"<TICKER>", "id":"<ID>"}
Recipient: must be the owner itself
Validation:
Message: {"p":"nip-20", "op":"ex", "tick":"<TICKER>", "id":"<ID>"}
Recipient: must be the owner of the listed inscription.
Validation:
Contract Events:
'NIP20TokenEvent_transfer(address,address,bytes32,bytes32)' - transfer from sender to recipient with ticker and id
'NIP20TokenEvent_mint(address,address,bytes32,uint256,uint256)' - mint from sender to recipient of ticker with mint id and amount. Note: require contract address set in the deployment of the token. events emitted from other contracts are ignored.
'NIP20TokenEvent_bridgeIn(address,address,address,bytes32,uint256,uint256)' - bridge erc20 in to mint a inscription
'NIP20TokenEvent_bridgeOut(address,address,address,bytes32,uint256,uint256)' - bridge inscription out for an erc20 token
Ownership of a token is tracked from minting. Transfer operations update ownership, with the latest valid transfer indicating the current owner.
GET /:ticker/:id/exist
Checks if a inscription with a given hash exists for a specific ticker.
ticker: The ticker symbol of the token (path parameter).
id: The hash of the transaction that minted the inscription (path parameter).
404 Not Found: If the id or ticker does not exist.
500 Internal Server Error: For server-related issues.
TICKER. No duplicate is allowed. The ticker has a maximum 10 character limit. and should only contain english characters and numbers. no special character allowed.
When contract address is provided, static nip20_allowMint() method of this contract address will be called when validating a mint operation.
When the contract address is provided, only this contract can mint the inscriptions through smart contract events. Regular mints may still be allowed depending on other configurations.
MINT_LIMIT must be greater than 0.
MAX_AMOUNT must be greater than MINT_LIMIT
Reserved ticker such as "METIS" or "NUVO" can only be deployed by the Nuvo Team to ensure smooth operation.
if cmint is set to true, mints can be done via the contract only. Regular mints in messages are disallowed.
TICKER exists and already deployed and ID is unique.ID does not need to be sequential but must be globally unique.
The amount must obey the MAX_AMOUNT and MINT_LIMIT of the deployed token.
TICKER and ID, the tx.hash where the inscription happened,existsSender must be the owner of this inscription.
The inscription is currently not listed for sale.
TICKER and ID, the tx.hash where the inscription was minted,existsSender must be the owner.
TICKER and ID, the tx.hash where the inscription happened,existsSender must be the owner.
UNIT needs to be one of the accepted unit on the deployed network. Please refer to network's page for more info. Price must be a whole number.
TICKER and ID, the tx.hash where the inscription happened,existsSender has listed the inscription.
TICKER and ID, the tx.hash where the inscription happened,existsSender must own enough <UNIT> to pay the price. UNIT needs to be one of the accepted unit on the deployed network. Please refer to network's page for more info. Price must be a whole number.
The inscription was listed by the recipient.
txhash*
String
0x3058af7f32be1b23799bb539f7b4705ad82cb19f7e862cd7f747da41952dccf8
chainid*
String
599
receiver*
String
user name
gas*
String
21210
gasprice*
String
6000
nonce*
String
17
Access-Token*
String
access token
{
"code": 200,
"data": {
"tokens": [
{
"color": "#57BEB7",
"icon": "https://s2.coinmarketcap.com/static/img/coins/64x64/9640.png",
"is_main": true,
"token": "METIS",
"usd": 0,
"value": 0
},
{
"address": "0xbB06DCA3AE6887fAbF931640f67cab3e3a16F4dC",
"color": "#5798BE",
"decimals": 18,
"icon": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
"is_main": false,
"token": "USDT",
"usd": 0,
"value": 0
},
{
"address": "0xEA32A96608495e54156Ae48931A7c20f0dcc1a21",
"color": "#6FBE57",
"decimals": 18,
"icon": "https://s2.coinmarketcap.com/static/img/coins/64x64/3408.png",
"is_main": false,
"token": "USDC",
"usd": 0,
"value": 0
},
{
"address": "0x5CE34d9abe4bF239cbc08B89287c87f4CD6d80B7",
"color": "#F1CA5F",
"decimals": 18,
"icon": "https://s2.coinmarketcap.com/static/img/coins/64x64/8605.png",
"is_main": false,
"token": "WOW",
"usd": 0,
"value": 0
}
],
"total_usd": 0
},
"msg": ""
}GET /mint-amount/:ticker/:txhashRetrieves the amount of a token minted in a specific transaction for the given ticker.
ticker: The ticker symbol of the token (path parameter).
txhash: The hash of the minting transaction (path parameter).
404 Not Found: If the ticker or transaction hash does not exist.
500 Internal Server Error: For server-related issues.
GET /NUVOGENESIS/0x123abc.../exist{
"exists": true
}GET /mint-amount/ETH/0x987xyz...{
"amount": 200
}page_no*
String
page number
page_size*
String
size of the page
Access-Token*
String
access token
{
"code": 200,
"data": {
"data": [
{
"amount": "0.01",
"chainid": 599,
Access-Token*
String
access_token
contract_name*
String
contract name
nft_name*
String
nft name
app_id*
Int
appid
levels*
String[]
{
"rp": 10,
// Must be image base64 content
badge_url": "data:image/png;base64,",
"internal_note": "internal note"
}
{
"code": 200,
"data": {
"tx_hash": "0x6e53dcb3f24d2ad000ed1c45c60fe14b44c2bf3122283464554971840b7496ae",
// -1: In progress, 0: failed, 1: succeed
"status": -1,
"contract_address":





start_date_ts*
String
Seconds timestamp, 0: Not Limit
expiry_date*
String
Seconds timestamp, 0: Not Limit
time_zone*
String
Format must be: +/-HH:mm
Access-Token*
String
access token
chainid*
String
chainid
domain*
String
domain
function*
String
function
args*
String[]
{
"code": 200,
"data": {
"act": "SUCCESS",
"args": [],
"chainid": 599,
"contract_address": "0xa0D214158643676DeBb42A2c44E361EB9E248B04",
"data": "ok",
"domain": "domain1",
"eth_address": "0x14A30580CC7555FFDBE4A36E8B79582e85c4B332",
"function": "functionName",
"nonce": 0,
"result": "result"
},
"message": "",
"msg": "",
"msgTitle": null
}{
"code": 200,
"data": {
"act": "SIGN",
"args": [],
"chainid": 599,
"contract_address": "0xa0D214158643676DeBb42A2c44E361EB9E248B04",
"data": "ok",
"domain": "domain1",
"eth_address": "0x14A30580CC7555FFDBE4A36E8B79582e85c4B332",
"function": "functionName",
"nonce": 0,
"result": "ok",
"func_abi_sign": "xxxxxxxx",
"wallet": "wallet name",
"nonce": 0,
"args": [],
"gas": 0.00001,
"gas_price": "10wei",
"gas_price_num": 2,
"fee": "0.000001ETH",
"fee_num": 1
},
"message": "",
"msg": "",
"msgTitle": null
}Access-Token*
String
access token
contract_address*
String
badge contract address
favorite
Boolean
default =true false when you want to cancel the collection
{
"code": 200,
"data": "favorite success",
"msg": ""
}GET /api/v1/oauth2/user/favorite_badge
For ex: "http://me.nuvosphere.io/#/claim-badge?code=0x88f8ff6c7259031303c146cb7caa3a24055cdbb7,0ca2e6b4f2be922270dda4e95dcc3c03" The code before "," is the badge address. While after"," is the code address
page_size*
String
page_no*
String
Access-Token*
String
access token
POST /api/v1/oauth2/user/badge/check_favorite
Access-Token*
String
access token
contract_address*
String/Array
badge conract
{
"code": 200,
"data": {
"data": [
{
"badges_logo": "https://metis.memosync.org:6083/matrix-test/c80f9830fdb24dee9df772027aa74f24.png",
"contract_address": "0xce79bdf26e0640e29b3e465a37da3082bdc2a27f",
"dapp_id": "64358e2c6d81a80a8f79a2a1",
"levels": [
{
"badge_glass_uri": "",
"badge_glass_url": "",
"badge_no_glass_uri": "",
"badge_no_glass_url": "",
"badge_uri": "c80f9830fdb24dee9df772027aa74f24.png",
"badge_url": "https://metis.memosync.org:6083/matrix-test/c80f9830fdb24dee9df772027aa74f24.png",
"desc": "",
"glass_open": 0,
"internal_note": "",
"level": 1,
"min_rp": 1,
"name": "Test11",
"rp": 10
}
],
"nft_name": "Test11",
"quest_list": [
{
"issueMethod": "QR code/url",
"quest": "111",
"rp": "111"
},
{
"issueMethod": "QR code/url",
"quest": "22",
"rp": "22"
},
{
"issueMethod": "QR code/url",
"quest": "33",
"rp": "33"
}
],
"version": "V2"
}
],
"page_no": 1,
"page_size": 10,
"total": 1
},
"msg": ""
}{
"code": 200,
"data": {
"0x88f8ff6c7259031303c146cb7caa3a24055cdbb7": true,
"0xbc3443409e992b8c379b7971e48e925ab2eb3ebc": true,
"0xce79bdf26e0640e29b3e465a37da3082bdc2a27f": true
},
"msg": ""
}GET /api/v1/oauth2/badge/claiminfo
For user used wallet mint transaction
POST /api/v1/oauth2/badge/scan_mint
For ex: "" The code before "," is the badge address. While after"," is the code address
GET /api/v1/oauth2/task/result
white_code*
String
white code
claim_type
Number
default =1
Access-Token*
String
access token
Access-Token*
String
access token
contract_address*
String
badge contract address
code*
String
claimed code
wait
Boolean
default =true false then will base on the return task ID and search the result.
task_id*
String
task id
Access-Token*
String
access token
{
"code": 200,
"data": [
{
"code": "0f70662562ec52699a922f85ba308924",
"contract_name": "TATEEWAA",
"dapp_name": "MMTest",
"is_claim_start": true, //whether start or not
"is_upgrade_start": false,//not yet
"issue_type": 1,
"level": 1,
"nft_address": "0xdf58C11e624565ea718672A78134352f3e2cF31B",
"nft_logo": "https://metis.memosync.org:6083/matrix-test/689c57ebcc184958876577730924c170.png",
"nft_name": "TATEEWAA",
/*proof for badge request parameter
*reference:https://github.com/nuvosphere/RP2/blob/master/packages/cUtils/polisClient.ts#LL227C12-L227C12
* tx = await contract.claimByCode(code,proof,data);
*/
"proof": [
"0xfa7ed0f7bdf82b1fe2608a8a80c2b0f3293d078e366a6243aeca87ab0167a320",
"0x4ec5738617a571d260dcff0e945bbfa9ecdcd2371d5758c4e5bedd29532b0aa7",
"0x38efb985b1bb9f53b0d69d1a60e841feaef1649246ce27c98077c6fb8c4f0098",
"0x574cefb33df41467ab296ef28acfce8cfba84333238c8fcc95e267339b6657a5"
],
"rp": 1
}
],
"msg": ""
}contract_address*
String
Badge contract address
Access-Token*
String
access token
Access-Token*
String
access token
contract_address*
Array
badge contrct address with array
{
"code": 200,
"data": {
"badges_logo": "https://metis.memosync.org:6083/matrix-test/689c57ebcc184958876577730924c170.png",
"banner": "https://metis-middleware-us-east-2.s3.amazonaws.com/7f41ff77055f41eb9df973624dcfe535",
"chain_id": 599,
"claim": "43243\n432\n432\n432", //how to claim content
"claimed": 0,
"contract_address": "0xdf58C11e624565ea718672A78134352f3e2cF31B",
"contract_id": "6441237e6d81a897ea453c5a",
"contract_name": "TATEEWAA",
"dapp_id": "64366b5f6d81a823acdb7aab",
"dapp_logo": "https://metis-middleware-us-east-2.s3.amazonaws.com/3a51f3d67fa559abbcd044ed1106bbe3",
"dapp_name": "MMTest",
"discord_url": null,
"eligibility": "32323",
"event_url": "https://matrix-nft-cliam.preview.staging.metisdevops.link/views/nft?nid=0xdf58C11e624565ea718672A78134352f3e2cF31B",
"introduction": "232323232",
"levels": [
{
"badge_glass_uri": "",
"badge_glass_url": "",
"badge_no_glass_uri": "",
"badge_no_glass_url": "",
"badge_uri": "689c57ebcc184958876577730924c170.png",
"badge_url": "https://metis.memosync.org:6083/matrix-test/689c57ebcc184958876577730924c170.png",
"desc": "",
"glass_open": 0,
"internal_note": "",
"level": 1,
"min_rp": 1,
"name": "TATEEWAA",
"rp": 34
},
{
"badge_glass_uri": "",
"badge_glass_url": "",
"badge_no_glass_uri": "",
"badge_no_glass_url": "",
"badge_uri": "22253c3dc0464efa8dca9ee4c0ca7b4b.png",
"badge_url": "https://metis.memosync.org:6083/matrix-test/22253c3dc0464efa8dca9ee4c0ca7b4b.png",
"desc": "",
"glass_open": 0,
"internal_note": "",
"level": 2,
"min_rp": 35,
"name": "TATEEWAA",
"rp": 45
}
],
"mb_banner": "https://metis-middleware-us-east-2.s3.amazonaws.com/7578cc3d2e0f4dc7b2dcfccb910200a0",
"mint_start_date": "",
"mint_start_date_ts": 0,
"nft_name": "TATEEWAA",
"pc_banner": "https://metis-middleware-us-east-2.s3.amazonaws.com/83f8aa57cd6148f9b4c7ec76caa37dea",
"quest_list": [
{
"issueMethod": "QR code/url",
"quest": "11",
"rp": "1"
}
],
"rp": 1,
"telegram_url": null,
"total_supply": 0,
"twitter_url": null,
"version": "V2"
},
"msg": ""
}{
"code": 200,
"data": {
"badge_logo": "https://metis.memosync.org:6083/matrix-test/c80f9830fdb24dee9df772027aa74f24.png",
"is_upgrade": false
},
"msg": ""
}
// wait=false
{
"code": 200,
"data": {
"task_id": "2b9b947596bc5652a035fa009eb9588e" //task id
},
"msg": ""
}{
"code": 200,
"data": { //task result
"code": 500,
"msg": {
"code": -32000,
"message": "execution reverted: address had minted."
},
"status": 2 //task status. 2-failure 1-succeed 0-porcessing
},
"msg": ""
}{
"code": 200,
"data": [
{
"contract_address": "0x4726a8732a64f1ba73f67b2b00378869ab399d08",
"quest_list": []
},
{
"contract_address": "0xbc3443409e992b8c379b7971e48e925ab2eb3ebc",
"quest_list": [
{
"issueMethod": "QR code/url",
"quest": "121",
"rp": "1"
},
{
"issueMethod": "QR code/url",
"quest": "21",
"rp": "3"
}
]
},
{
"contract_address": "0xce79bdf26e0640e29b3e465a37da3082bdc2a27f",
"quest_list": [
{
"issueMethod": "QR code/url",
"quest": "111",
"rp": "111"
},
{
"issueMethod": "QR code/url",
"quest": "22",
"rp": "22"
},
{
"issueMethod": "QR code/url",
"quest": "33",
"rp": "33"
}
]
}
],
"msg": ""
}