Protocol
Account verification
GET
https://app.proofi.com/api/verify/{blockchain}/{account}
Verify that a blockchain account is allowed to participate in a project. The response depends on the given API key.
Path Parameters
blockchain*
String
CAIP-2 blockchain id
account*
String
Blockchain address
Headers
Auhorizaton: Bearer*
String
Project specific API key
CAIP-2 defines a way to identify a blockchain in a human readably, developer-friendly, and transaction-friendly way.
eip155:1
Ethereum mainnet
eip155:42
Kovan: Ethereum test network
eip155:56
Binance smart chain
solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ
Solana mainnet
lto
LTO Network
State
The response contains a state
field, which can be "unknown", "pending", or "final". In case of a final result, the response will contain an approved
field specifying if the given account should be allowed to participate in accordance with the configured requirements.
Non-repudiation
A final response contains proof of delivery for additional assurance towards DeFi projects. It allows you to indisputably and independently prove that the information used to allow or reject participation, has been provided by Proofi.
The proof is an ECDSA secp256r1 (aka ECC prime256v1) signature. The signature is based on a binary message
Project id
Binary
26
Account Length (N)
Short
2
Account
String
N
Allowed
Byte
1
Timestamp
Long
8
The account
field has the CAIP-10 format, which is blockchain-id:address
. The address may be normalized.
The sha256 hash of the signature is also published to LTO Network using an anchor transaction.
The public key for verifying the proof of delivery can be obtained from the SSL certificate of app.proofi.com.
Idem potent
Doing the same request multiple times will give the same response, given that the information associated with the wallet address hasn't changed in the meantime.
Last updated