Technical specifications, API reference, and integration guides
PlantCard (PLANT$) is a GBP-backed stablecoin built on Polygon (formerly Matic) network. Every PLANT$ token is backed 1:1 by British Pound reserves held in regulated financial institutions. A percentage of transaction fees automatically funds verified sustainability projects.
Contract Address: 0x... (Polygon Mainnet)
Decimals: 18
Total Supply: Uncapped (backed 1:1 by reserves)
Transaction Fee: 0.5% (0.3% to sustainability, 0.2% operations)
Minting (Admin Only)
function mint(address to, uint256 amount) public onlyMinter {
require(reserves >= totalSupply() + amount);
_mint(to, amount);
}
Burning (Redemption)
function burn(uint256 amount) public {
_burn(msg.sender, amount);
emit Redemption(msg.sender, amount);
}
Transfer with Sustainability Fee
function transfer(address to, uint256 amount) public override returns (bool) {
uint256 fee = calculateFee(amount);
uint256 netAmount = amount - fee;
_transfer(msg.sender, to, netAmount);
_transfer(msg.sender, sustainabilityWallet, fee);
return true;
}
Smart contracts have been audited by CertiK and Quantstamp. View audit reports at plantcard.io/audits
https://api.plantcard.io/v1
Authorization: Bearer YOUR_API_KEY
Get Token Information
GET /token/info
Response:
{
"name": "PlantCard",
"symbol": "PLANT$",
"totalSupply": "1000000",
"reserves": "1000000",
"reserveRatio": "100%",
"priceGBP": "1.00"
}
Create Payment
POST /payments
Request Body:
{
"amount": "100.00",
"recipient": "0x...",
"metadata": {
"orderId": "12345",
"description": "Product purchase"
}
}
Response:
{
"paymentId": "pay_abc123",
"status": "pending",
"amount": "100.00",
"transactionHash": null
}
Get Payment Status
GET /payments/{paymentId}
Response:
{
"paymentId": "pay_abc123",
"status": "completed",
"amount": "100.00",
"transactionHash": "0x...",
"sustainability": "0.30"
}
const Web3 = require('web3');
const web3 = new Web3('https://polygon-rpc.com');
const contractABI = [...]; // PlantCard ABI
const contractAddress = '0x...';
const contract = new web3.eth.Contract(contractABI, contractAddress);
// Get balance
const balance = await contract.methods.balanceOf(userAddress).call();
// Transfer tokens
await contract.methods.transfer(recipient, amount).send({ from: userAddress });
const axios = require('axios');
const apiKey = 'YOUR_API_KEY';
const baseURL = 'https://api.plantcard.io/v1';
// Create payment
const payment = await axios.post(`${baseURL}/payments`, {
amount: '100.00',
recipient: '0x...'
}, {
headers: { 'Authorization': `Bearer ${apiKey}` }
});