Skip to main content

Ethereum

Quick Start
  1. Sign up at ethereum.org and obtain API credentials
  2. Create a terminal in the Admin Console with the parameters below
  3. Start processing — the adapter is pre-built and ready to use

Go to Ethereum →

Overview

Ethereum payment integration

Provider IDethereum
CategoryCrypto & Blockchain
Websiteethereum.org

Configuration

Required Parameters

ParameterDescription
api_keykey for access to Ethereum RPC (for example: Infura API key)

Example Configuration

{
"env": "prod",
"api_key": "infura-api-key",
"need_auth": true
}

Payment Flow

Payments (one-phase with need_auth=true):

  1. get_additional_params_for_auth - generation parameters for authentication:

    • Retrieval destination wallet_address for acceptance payment
    • AML check source_addr (sender cold wallet)
    • Generation signing: sign("tx_id:wallet_address")
    • Refund wallet_address and signature
  2. process_operation (need_auth=true) - processing with verification blockchain:

    • Retrieval tx_hash from additional_params_for_auth
    • Uniqueness check tx_hash (not used previously)
    • Retrieval receipt from blockchain via Ethers.get_transaction_receipt
    • Extraction from, to, amount from logs transactions
    • Validation: from == source, to == destination, amount matches
    • Refund charged immediately after validation

Payouts (one-phase with need_auth=false):

  1. process_operation (need_auth=false) - creation blockchain transactions:

    • Determination token standard (ERC20) and currency (USDT/ZOLT)
    • Retrieval source wallet (sender) with sufficient balance
    • Retrieval destination wallet_address
    • AML check destination wallet_address for payouts
    • Exchange currency via Fx.find_fx_rate_value
    • Call contract.transfer(destination, amount)
    • Sending via Ethers.send with signer_opts
    • Refund tx_hash as outertxid/merchanttxid
  2. status - status check blockchain transactions:

    • Retrieval receipt via Ethers.get_transaction_receipt
    • Parsing status from receipt: "1" → charged, "0x1" → charged, the rest → rejected
    • With charged: update wallet balance and gas
    • Refund merchant_meta.status or provider status

Resources