Documentation

Technical specifications, API reference, and integration guides

Overview

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.

Quick Facts
  • Token Name: PlantCard
  • Symbol: PLANT$
  • Network: Polygon (Matic)
  • Standard: ERC-20
  • Peg: 1 PLANT$ = £1 GBP

Token Specifications

Contract Details

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)

Token Features

  • ERC-20 Compatible: Full compatibility with all Ethereum wallets and DeFi protocols
  • Burnable: Tokens can be burned when redeemed for GBP
  • Pausable: Emergency pause mechanism for security
  • Access Control: Multi-signature governance for critical operations

Smart Contracts

Main Contract Functions

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;
}
Important

Smart contracts have been audited by CertiK and Quantstamp. View audit reports at plantcard.io/audits

API Reference

Base URL

https://api.plantcard.io/v1

Authentication

Authorization: Bearer YOUR_API_KEY

Endpoints

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"
}

Integration Guide

Web3.js Integration

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 });

REST API Integration

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}` }
});

Security Best Practices

  • Never share your private keys - Store them securely using hardware wallets or secure key management systems
  • Verify contract addresses - Always check official sources before interacting with smart contracts
  • Use hardware wallets - For large amounts, use Ledger or Trezor
  • Enable 2FA - Protect your accounts with two-factor authentication
  • Test with small amounts - Always test integrations with small amounts first