SafeSwap
Open SafeSwap
  • 👋Introduction to SafeSwap
  • Learn
    • 🤔How SafeSwap Works
    • 🪙SHA Token
    • ⛽Fee Structure
    • 💰Fee Distribution
    • 👑SafeNodes
    • 📚Glossary
  • User Guides
    • 🔄Swap Tokens
    • 📊Token Dashboard
  • Technical
    • ⚛️Cross-Chain Atomic Swaps
    • 🔐HTLC
    • 🛡️Security Measures
    • ⛓️Supported Blockchains
    • 👝Supported Wallets
    • 🕵️Audits
  • Builders
    • 🌍Hello World!
    • 🏗️Cross-Chain Use Cases
    • 🖥️Token Listing
    • 👨‍💻Whitelabel Integration
    • 📖API Integration Guide
      • Prerequisites
      • What is a Swap?
      • Perform a Swap
        • Initiate a Swap
        • Send Fees
        • Create the Swap in API
        • Wait/Poll for the Swap
        • Complete the Swap
        • Cancel/Refund
      • Smart Contract Details
      • Our Swap Addresses
      • API Details
  • About
    • Safe Haven
    • SafeTech
    • Support
Powered by GitBook
On this page
  • Contract Addresses
  • ABI
  1. Builders
  2. API Integration Guide

Smart Contract Details

Contract Addresses

Mainnet

  • Ethereum: 0xc3df7f84448086c253bffb0cd30fa543ed074203

  • VeChain: 0x17A88f8a34b6e1d6CA9275f5481B99F9E8f2dccC

  • BNB Smart Chain: 0xc3df7f84448086c253bffb0cd30fa543ed074203

  • Polygon: 0xc3df7f84448086c253bffb0cd30fa543ed074203

  • Base: 0x534F39c5f4DF9cB13E16B24cA07c7C8C0E2eadB7

  • Optimism: 0xc3df7f84448086c253bffb0cd30fa543ed074203

Testnet

  • Ethereum (Sepolia): 0x88378451e9e5123c95526e2A20E82eb9A0af3ecA

  • VeChain: 0xdd4d043b2a0310b09389b120415e32028bf19592

  • BNB Smart Chain: 0xd565C6Bcd05DDBd628d837841d69BAAC63aD5473

  • Polygon (Mumbai): 0xf76f6c8613874E56F71E1551Be009A9840C5a87c

  • Base (Sepolia): 0xd565C6Bcd05DDBd628d837841d69BAAC63aD5473

  • Optimism (Sepolia): 0x0705B560Ad8CbBa54c34cD6f26485D7F22d8F271

ABI

[
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "contractId",
        "type": "bytes32"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "tokenContract",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "hashlock",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "timelock",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "allowLateWithdrawal",
        "type": "bool"
      }
    ],
    "name": "HTLCERC20New",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "contractId",
        "type": "bytes32"
      }
    ],
    "name": "HTLCERC20Refund",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "contractId",
        "type": "bytes32"
      }
    ],
    "name": "HTLCERC20Withdraw",
    "type": "event"
  },
  {
    "constant": false,
    "inputs": [
      {
        "internalType": "address",
        "name": "_receiver",
        "type": "address"
      },
      {
        "internalType": "bytes32",
        "name": "_hashlock",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "_timelock",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "_allowLateWithdrawal",
        "type": "bool"
      },
      {
        "internalType": "address",
        "name": "_tokenContract",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "newContract",
    "outputs": [
      {
        "internalType": "bytes32",
        "name": "contractId",
        "type": "bytes32"
      }
    ],
    "payable": false,
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "constant": false,
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "_contractId",
        "type": "bytes32"
      },
      {
        "internalType": "bytes32",
        "name": "_preimage",
        "type": "bytes32"
      }
    ],
    "name": "withdraw",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "payable": false,
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "constant": false,
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "_contractId",
        "type": "bytes32"
      }
    ],
    "name": "refund",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "payable": false,
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "constant": true,
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "_contractId",
        "type": "bytes32"
      }
    ],
    "name": "getContract",
    "outputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "tokenContract",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      },
      {
        "internalType": "bytes32",
        "name": "hashlock",
        "type": "bytes32"
      },
      {
        "internalType": "uint256",
        "name": "timelock",
        "type": "uint256"
      },
      {
        "internalType": "bool",
        "name": "allowLateWithdrawal",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "withdrawn",
        "type": "bool"
      },
      {
        "internalType": "bool",
        "name": "refunded",
        "type": "bool"
      },
      {
        "internalType": "bytes32",
        "name": "preimage",
        "type": "bytes32"
      }
    ],
    "payable": false,
    "stateMutability": "view",
    "type": "function"
  }
]
PreviousCancel/RefundNextOur Swap Addresses

Last updated 1 year ago

📖