Blockchain Wallets

External wallets to receive stablecoins.

What is a blockchain wallet for BlindPay?

BlindPay operates solely as a transfer service and does not provide its own digital wallets. All wallet interactions are conducted with externaly owned blockchain wallets.

To use this feature, you'll need to add one or more wallet addresses where you or your customers wish to receive stablecoin transfers after the payin process is completed.

Supported blockchains

Here are the blockchains that BlindPay supports for the on-ramping process:

Chain nameChain idInstance type
Polygon137production
PoS Amoy (testnet)80002development

Secure way to add an external blockchain wallet

With this method, you can attach a blockchain wallet without asking for the wallet address. For doing this you need to:

  1. Get the message to sign
  2. Sign the message
  3. Use the signature transaction hash to add the blockchain wallet

To get the message to sign, use the following endpoint:

cURL
  curl https://api.blindpay.com/v1/instances/in_000000000000/receivers/re_000000000000/blockchain-wallets/sign-message \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

So now you can use some library like wagmi or ethers.js to sign the message and get the signature transaction hash.

ethers.js
import { signMessage } from '@wagmi/core'

// setup your wagmiConfig
const message = '<retrieved_from_blindpay_api>'

const signature_tx_hash = await signMessage(wagmiConfig, {
  message,
})

Now you can use the signature_tx_hash to add the blockchain wallet:

cURL
  curl --request POST \
  --url https://api.blindpay.com/v1/instances/in_000000000000/receivers/re_000000000000/blockchain-wallets \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "John",
    "network": "polygon",
    "is_account_abstraction": false,
    "signature_tx_hash": "0x..."
  }'

Non-secure way to add an external blockchain wallet

We don't recommend using this method because if the funds are sent to the wrong address, the funds will be lost.

On this method you can just set the is_account_abstraction field to true and fill the address field with the wallet address.

cURL
  curl --request POST \
  --url https://api.blindpay.com/v1/instances/in_000000000000/receivers/re_000000000000/blockchain-wallets \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "John",
    "network": "polygon",
    "is_account_abstraction": true,
    "address": "0x..."
  }'