For the complete documentation index, see llms.txt. This page is also available as Markdown.

Parse Token Meta

Whenever a token is launched, a TokenCreated event will be emitted:

/// @notice emitted when a new token is created
///
/// @param ts The timestamp of the event
/// @param creator The address of the creator
/// @param nonce The nonce of the token
/// @param token  The address of the token
/// @param name  The name of the token
/// @param symbol  The symbol of the token
/// @param meta The meta URI of the token
event TokenCreated(
  uint256 ts, address creator, uint256 nonce, address token, string name, string symbol, string meta
);

The TokenCreated event contains the IPFS CID of the token’s metadata, which can be used to retrieve the metadata from IPFS.

Alternatively, you can also get the metadata through the token’s contract by calling the metaURI method of the token contract. The meta method returns the IPFS CID of the token’s metadata.

interface IFlapToken {
    function metaURI() external view returns (string memory);
}

Let’s take the JACK token as an example to illustrate how to get the image:

If you call the metaURI method of the 0x4122a43daecd13cfb2543ad339470fd87bc11111 token, you will get the following cid: bafkreieepx7lh6zcpqsneo2jdeqmcgxjg7facam34w5ezh4myajjauuc24.

You can get the meta json from any ipfs gateway. However, it would be fast to use our ipfs gateway. Our gateway is located at https://flap.mypinata.cloud/ . Such that, you can get the meta json here: https://flap.mypinata.cloud/ipfs/bafkreieepx7lh6zcpqsneo2jdeqmcgxjg7facam34w5ezh4myajjauuc24.

The meta json is as follows:

{
    "buy": null,
    "creator": "0x7F403F924dDE32bFd4D4432E3996291aeFCe2f89",
    "description": "OKIE,OKIE",
    "image": "bafkreibwjuzzns6yf4wytfr5nk6vujb4yja4iejff2k76nshn2z5jkmiy4",
    "sell": null,
    "telegram": null,
    "twitter": null,
    "website": null
}

Note that the image field is also a cid, which is the cid of the image. Similarly, we can get the image here: https://flap.mypinata.cloud/ipfs/bafkreibwjuzzns6yf4wytfr5nk6vujb4yja4iejff2k76nshn2z5jkmiy4.

Wallet Creation

How to make a wallet on EVM

To interact with Flap on any EVM-compatible chain, you need an Ethereum wallet — an address plus the private key that controls it. Here are the most common ways to create one:

  1. MetaMask (recommended for beginners) — Install the MetaMask browser extension or mobile app. Click Create a new wallet, set a password, and securely back up the 12-word recovery phrase. MetaMask derives your address and private key from that phrase.
  2. Other browser wallets — Rabby, Coinbase Wallet, Brave Wallet, and similar extensions follow the same pattern: install, create a wallet, and save your seed phrase offline.
  3. Generate programmatically — Use libraries such as ethers.Wallet.createRandom() (ethers.js) or web3.eth.account.create() (web3.py) to generate a fresh key pair. Store the private key securely; there is no recovery phrase unless you wrap it in an HD wallet.
  4. Hardware wallets — Ledger or Trezor devices generate keys offline. You still get a standard EVM address, but signing happens on the device.

After creation, fund the wallet with native gas tokens (e.g. ETH on Ethereum, BNB on BSC) so you can submit transactions.

Any EVM wallet works

Flap does not require a specific wallet brand. Any EVM-compatible wallet works — MetaMask, Rabby, a script-generated key pair, or a custodial API — as long as you control the private key (or seed phrase that derives it). Your wallet address is the public identifier; the private key is what signs transactions and must stay secret.

Example wallet

For local testing and documentation only, here is a pre-generated key pair:

Wallet: 0x61f4c3931abe4145ec2ccb6100737c8ae45c999b

Private key: 0x11475421a808f006f693b61bc895b81ad38c5f528a9ffe50204b6d05d48a4e58

Last updated