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.
GET /holder/NUVOGENESIS?tick=NUVOGENESISGET /message/mint/ETH/1/100{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"mint\", \"tick\":\"ETH\", \"id\":\"1\", \"amt\":\"100\"}"
}"11939"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.
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 ......
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.
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
Make sure the recipient address is accurate
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"
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 /: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.
When signed in, click wallet address
Click “My account”
You may now view your total asset, NuvoBadge status, RP, rebate, and more.
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.
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.
Coming soon ......
GET /:tx_hash/status
Return the status of an inscription transaction
tx_hash: Transaction hash(path parameter).
GET /transactions/ETH/0x123456...{
"transactions": [
{
"tx_hash": "0x123456...",
"sender": "0xSenderAddress...",
"recipient": "0xRecipientAddress...",
"amount": 100,
"op": "tsf",
"tick": "ETH",
// ... other transaction details
},
// ... more transactions
]
}GET /NUVOGENESIS/checkid?id=2000000{
"isAvailable": true
}GET /NUVOGENESIS/nextid{"nextId":1013465,"tokenType":"nip-20","contract":"0x213675a2BdF53F910972E43166165a08f1AD4489"}GET /0xd8e6e275831070677851bef893f9203254a63a3d6852fe9d951d5c2966642a98/status{"status":"success"}
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.
GET /mint-amount/:ticker/:txhash
Retrieves 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 /deployment/:ticker
Retrieves 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.
If mint is successful, user will be automatically redirected to the "owned token" page. You can exam your owned tokens here.
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.
Response Example: Example of the expected response.
Error Responses: Common error codes and their meanings.
Get Next ID for Minting
Path: /:ticker/nextid
Method: GET
...
Check ID Availability
Path: /:ticker/checkid
Method: GET
...
Transfer Ownership
Path: /message/transfer/:ticker/:id
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
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.
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.

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 /: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.
GET /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 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/: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.
GET /mint-amount/ETH/0x987xyz...{
"amount": 200
}GET /0xf9a3020c71Ba4F62364c624242D54a1229f3125F/NUVOGENESIS/balanceb{"balance":0}GET /deployment/ETH{
"deployment": {
"contractAddress": "0x789ghi...",
"maxAmount": 1000,
"mintLimit": 100,
// ... other deployment details
}
}GET /message/deploy/ETH{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"deploy\", \"tick\":\"ETH\"}"
}GET /ETH/0x1234abcd.../exist{
"exists": true
}GET /0xf9a3020c71Ba4F62364c624242D54a1229f3125F/NUVOGENESIS/0x213675a2BdF53F910972E43166165a08f1AD4489/delegation{
"delegation": null
}GET /mints/ETHjsonCopy code{
"mints": [
{
"tx_hash": "0x789abc...",
"amount": 50,
// ... other mint details
},
// ... more minted inscriptions
]
}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 /NUVOGENESIS/0x123abc.../exist{
"exists": true
}
GET /owner/:ticker/:txhash
Determines 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 /tokens/ownedBy
Retrieves 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 /owner/ETH/0xabc123...{
"owner": "0x123ownerAddress..."
}GET /tokens/ownedBy?address=0x456def...{
"ownedTokens": [
{
"tokenId": "0x123abc...",
"ticker": "ETH",
"amount": 100
},
// ... more tokens
]
}GET /message/transfer/ETH/1{
"message": "data:,{\"p\":\"nip-20\", \"op\":\"tsf\", \"tick\":\"ETH\", \"id\":\"1\"}"
}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.
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.