LogoLogo
Developer DashboardMarketplaceDeveloper Discord
  • Getting Started
    • 👋Welcome to Altura
    • ➕Creating a Project
    • â›―Blockchains & Gas Fees
    • 🖞ïļMinting and Importing NFTs
      • Minting Individual NFTs
      • Importing Collections
      • Bulk Mint NFTs
      • Lazy Mint (Primary Sales)
    • 🔗Linking Your Collections
    • ðŸ’ģThe Developer Wallet
    • 🧠Smart NFTs
    • 🎁Lootboxes
    • 🔑Getting Your API Key
    • ðŸŽŪIntegrating Altura
    • ðŸ‘ĨAuthenticating Users
      • Altura Guard (Legacy)
      • Altura Guard II
        • Integration
        • REST API Demo
  • Altura Intelligence
    • 🧑‍ðŸĶēNPC Engine
      • ðŸĪĩNPC Engine +
    • 🌎World Engine
    • ðŸ’ģPlay Wallet
    • 💁Concierge
  • Marketplace
    • 🛍ïļThe Altura Marketplace
    • ðŸŽŊListing Your Game on the Altura Marketplace
    • ✅Getting Your Collections Verified
    • ðŸŽĻCreate Your Own White-Label Marketplace
  • 🌐API Reference
    • Get Endpoints
      • Verify a User's Altura Guard Code
      • Get User
      • Get Many Users
      • Get a User's Items
      • Get Item
      • Get Items
      • Get an Item's Holders
      • Get an Item's History
      • Get Collection
      • Get Collections
      • Get a User's Item Balance
      • Get a User's ERC20 Balance
      • Get a User's Native Token Balance
      • Get a User's Domain Names (Space ID)
      • Get a User From Domain Name (Space ID)
    • Developer Wallet Endpoints
      • Transfer ERC1155
      • Bulk Transfer ERC1155
      • Mint New ERC1155 NFT
      • Mint Additional Supply of ERC1155
      • Transfer ERC721
      • Transfer ERC20
      • Consume an Item (ERC1155)
    • Smart NFT Endpoints
      • Update an Item's Property
      • Add New Properties
      • Remove Properties
      • Bulk Update an Item's Properties
      • Switch an Item's Primary Image
      • Add a New Image
      • Update an Item's Name & Description
      • Update a Collection's Metadata
    • Altura Guard II
      • Connect to user wallet
      • Revoke Connection
      • Check Connection
      • Transaction Requests
        • Polling Transaction Response
        • Submitting a signature request
        • Submitting a native transaction request
        • Submitting a contract transaction request
  • ⚙ïļUnity SDK Reference
    • Installation
    • Get Methods
      • Verify a User's Altura Guard Code
      • Get User
      • Get Users
      • Get Item
      • Get Items
      • Get an Item's Holders
      • Get an Item's History
      • Get Collection
      • Get Collections
      • Get a User's Item Balance
      • Get a User's ERC20 Balance
      • Get a User's Native Token Balance
    • Schemas
  • ⚙ïļJS SDK Reference
    • Installation
    • Get Methods
      • Verify a User's Altura Guard Code
      • Get User
      • Get Many Users
      • Get a User's Items
      • Get Item
      • Get Items
      • Get an Item's Holders
      • Get an Item's History
      • Get Collection
      • Get Collections
      • Get a User's Item Balance
      • Get a User's ERC20 Balance
      • Get a User's Native Token Balance
    • Developer Wallet Methods
      • Transfer ERC1155
      • Bulk Transfer ERC1155
      • Mint Additional Supply of ERC1155
      • Transfer ERC721
      • Transfer ERC20
      • Consume an Item (ERC1155)
    • Smart NFT Endpoints
      • Update an Item's Property
      • Add new Properties
      • Remove Properties
      • Bulk Update an Item's Properties
      • Switch an Item's Primary Image
      • Add a New Image
      • Update an Item's Name & Description
      • Update a Collections Metadata
    • Altura Guard II
      • Connect to a user's wallet
      • Revoke Connection
      • Check Connection
      • Transaction Requests
        • Submitting a signature request
        • Submitting a native transaction request
        • Submitting a contract transaction request
    • Connect to Web3 Wallet
    • Schemas
Powered by GitBook
On this page
  1. API Reference
  2. Altura Guard II
  3. Transaction Requests

Submitting a contract transaction request

This method allows you to send a contract transaction request.

Before requesting a transaction, ensure that you encode the value in hexadecimal format.

const value = "0x0"

You also need to add the necessary parameters before requesting a transaction.

const from = userAddress //the address you're sending from (connected users address)
const to = "0x0000000000000000000000000000000000000000" // the address you're sending the transaction to 

Now we need to get the data to send to represent the contract data. In this example we are approving 0.1 BUSD

// create the tx object
// BUSD contract address: 0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7
const contractAddress = "0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7";
// Approve function ABI
const abi = [
  {
    inputs: [
      { internalType: "address", name: "spender", type: "address" },
      { internalType: "uint256", name: "amount", type: "uint256" },
    ],
    name: "approve",
    outputs: [{ internalType: "bool", name: "", type: "bool" }],
    stateMutability: "nonpayable",
    type: "function",
  },
];
const contract = new ethers.Contract(contractAddress, abi);

// Set the parameters for the transaction
const spender = userAddress; // the address of the spender (user connected)
const amount = ethers.parseEther("0.1"); // the amount to approve
const data = contract.interface.encodeFunctionData("approve", [
     spender,
     amount,
]);

Next, create the transaction object

const tx = {
  from,
  to,
  data,
  value,
},

Finally, obtain the chain ID, which can be found at the following URL: (https://chainlist.org)

const chainId = 1; // ETH chain id

POST https://api.alturanft.com/api/alturaguard/request

Request Body

Name
Type
Description

token*

String

User token recieved when authenticating

reqParameters*

array

["transaction", tx, chainId]

requestId

PreviousSubmitting a native transaction requestNextInstallation

Last updated 1 year ago

🌐