Smart Contracts Guide
Tweed provides an SDK for multiple contract standards, so you can integrate NFT & Token Checkout with a few lines of code
Overview
Tweed allows integration with the following:
EVM
ERC-20, only for In-Platform Tokens
ERC-721
ERC-1155
Tezos
FA1.2, only for In-Platform Tokens
FA2
Solana
Non fungible tokens supported by the Token Program
Fungible tokens supported by the Token Program
Tweed SDK allows the seller to get integrated with Tweed's ecosystem in a frictionless and simple way through minimal code changes to their smart contracts that mint the NFTs.
Your smart contracts need to support a "Mint-and-Send-to-Wallet" (claim) function, meaning the smart contract needs a trigger to mint an NFT and send it to an arbitrary wallet address. This trigger will be sent from a Tweed smart claimer and will be funded by Tweed infrastructure.
The next step will be to connect the contract with Tweed's backend using the Developer Console. The Developer Console will run several checks, and connect the contract to the billing system.
In the event the function returns an error, it will be shown to the user in the purchase widget.
The Claimers
View the claimer address and Demo NFT address (where applicable) for each chain we support
ABI (EVM)
Read about how the claimers support ABI without any limitation, and how parameters are supported
The Claimers
Tweed uses "claimers" to claim the NFT from the NFT minter contract. The claimers are deployed on the blockchains we support and your contract should whitelist the appropriate claimer address.
ABI (EVM)
The claimers support ABI without any limitation. The default ABI has two parameters: toAddress
(address) and tokenId
(string). If there are more parameters than the default ones, they will be added in the customMintParams. The ABI can be obtained from the compiled smart contract.
Here is how to configure the default ABI for the following function:
safeMint(toAddress address, tokenUri string) public payable returns (uint256)
If there are more parameters, like in this example:
safeMintWithThumbnail(toAddress address, tokenId string, thumbnailPath string) public payable returns (uint256)
we will use the customMintPararms
like this:
Our GitHub example contains a full implementation of the checkout feature.
Last updated