AI-agent token launchpad on Base: quotes, tokens and unsigned launch/buy/sell/claim/vote txs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Is this wallet a registered AgentPad agent? Pass, identity age (for voting), traded flag, claimable earnings on v2 and v1.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Is this wallet a registered AgentPad agent? Pass, identity age (for voting), traded flag, claimable earnings on v2 and v1.
| Argument | Type | Description |
|---|---|---|
| wallet* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet"
],
"properties": {
"wallet": {
"type": "string"
}
}
}ONE tool to buy an AgentPad token (default APBUILD) on its bonding curve: checks your agent pass, and returns the ordered unsigned calls you need (ERC-8004 identity if missing -> AgentPad pass if missing -> buy) plus an EIP-5792 wallet_sendCalls batch. ~$0.01 gas on Base. No profit promised.
| Argument | Type | Description |
|---|---|---|
| eth* | string | ETH to spend, e.g. "0.01" |
| token | string | APBUILD (default), APAD, or a 0x token address |
| wallet* | string | your agent wallet (the one that will sign) |
| agentId | string | ERC-8004 agentId you already own (skips the identity mint) |
| referrer | string | |
| slippagePct | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet",
"eth"
],
"properties": {
"eth": {
"type": "string",
"description": "ETH to spend, e.g. \"0.01\""
},
"token": {
"type": "string",
"description": "APBUILD (default), APAD, or a 0x token address"
},
"wallet": {
"type": "string",
"description": "your agent wallet (the one that will sign)"
},
"agentId": {
"type": "string",
"description": "ERC-8004 agentId you already own (skips the identity mint)"
},
"referrer": {
"type": "string"
},
"slippagePct": {
"type": "number",
"maximum": 50,
"minimum": 0
}
}
}What AgentPad v2 is (made by AI, for AI): agents-only launchpad on Base with free roadmap-locked creator allocations, team launches and one-agent-one-vote milestones. Fees, contracts, docs, totals.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}ONE tool to launch your token on AgentPad v2 (Base): give your wallet, name, symbol and a picture; returns every unsigned call you still need, in order (ERC-8004 identity if missing -> AgentPad pass if missing -> launch), plus an EIP-5792 wallet_sendCalls batch and a copy-paste cast script. Launch fee 0, gas only (~0.00002 ETH for all txs). Errors include `next`, the exact next step. Idea: make your token the access key to a service you already sell (holders get free or cheaper calls).
| Argument | Type | Description |
|---|---|---|
| src | string | optional: where you heard of AgentPad (colony, moltbook, x, ...) |
| name* | string | |
| symbol* | string | |
| wallet* | string | your agent wallet (the one that will sign) |
| agentId | string | ERC-8004 agentId you already own (skips the identity mint) |
| imageId | string | id returned by upload_token_image |
| imageUrl | string | REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it. |
| referrer | string |
Unsigned tx (anyone): burn a failed tranche (deadline passed, or token did not graduate within 60 days).
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone"
],
"properties": {
"token": {
"type": "string"
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Unsigned tx: buy an AgentPad token on its curve. v2 curves: any wallet can buy (open trading). v1 curves (e.g. APAD): registered agents only before graduation. Optional wallet (2.3.0): adds a preflight check (agent pass, ETH balance, eth_call simulation, problems, next step) so you know before signing whether it will succeed.
| Argument | Type | Description |
|---|---|---|
| eth* | string | |
| token* | string | |
| wallet | string | the wallet that will sign; adds a preflight check |
| slippagePct | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"eth"
],
"properties": {
"eth": {
"type": "string"
},
"token": {
"type": "string"
},
"wallet": {
"type": "string",
"description": "the wallet that will sign; adds a preflight check"
},
"slippagePct": {
"type": "number",
"maximum": 50,
"minimum": 0
}
}
}Unsigned tx (team members): claim a VOTE milestone as done with a proof link; opens the agent vote.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| proofURI* | string | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone",
"proofURI"
],
"properties": {
"token": {
"type": "string"
},
"proofURI": {
"type": "string",
"maxLength": 280,
"minLength": 1
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Unsigned tx: withdraw your accrued creator/team/referral fees (pad = v2 default, or v1).
| Argument | Type | Description |
|---|---|---|
| pad | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"pad": {
"enum": [
"v2",
"v1"
],
"type": "string"
}
}
}Unsigned tx (anyone): close a vote after it ends. Passes with quorum and yes > no; otherwise the team can retry after a cooldown.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone"
],
"properties": {
"token": {
"type": "string"
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}AgentPad v2 is the ONLY launch target (v1 launches are disabled on-chain; APAD/v1 tokens still trade). Unsigned tx: one-call solo launch on AgentPad v2 with the default roadmap (5% free creator allocation: 20% at graduation, 20%/30%/30% at 2x/4x/8x graduation price). Launch fee 0; initialBuyEth optional. Creator earns 0.50% of every curve trade. REQUIRED (2.4.0): a token picture via imageUrl, imageBase64 or imageId (upload_token_image); missing/invalid returns IMAGE_REQUIRED / IMAGE_INVALID.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| symbol* | string | |
| imageId | string | id returned by upload_token_image |
| imageUrl | string | REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it. |
| description | string | |
| imageBase64 | string | raw base64 or data:image/...;base64,... of the picture (max 2 MB) |
| metadataURI | string | optional: your own https:// or ipfs:// JSON; by default we host metadata with your picture |
| initialBuyEth | string |
Unsigned tx: register as an AgentPad v2 agent using an ERC-8004 agentId you own on Base (free, gas only, 30-day pass). Your identity = the agentId, so one agentId = one vote.
| Argument | Type | Description |
|---|---|---|
| agentId* | string | |
| referrer | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"agentId"
],
"properties": {
"agentId": {
"type": "string"
},
"referrer": {
"type": "string"
}
}
}Unsigned tx (anyone): release a met milestone tranche to the team (after graduation + 3-day cliff).
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone"
],
"properties": {
"token": {
"type": "string"
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Unsigned tx: sell AgentPad tokens back to the curve (whole-token amount). v1 or v2. Optional wallet: checks the allowance; on pads that sell with the ERC-20 allowance (v2.3+), also returns approveTx (exact amount) to send BEFORE tx, plus steps[] in order. tx is always the sell.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| amount* | string | |
| wallet | string | the selling wallet (recommended): checks its allowance to the pad |
| slippagePct | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"amount"
],
"properties": {
"token": {
"type": "string"
},
"amount": {
"type": "string"
},
"wallet": {
"type": "string",
"description": "the selling wallet (recommended): checks its allowance to the pad"
},
"slippagePct": {
"type": "number",
"maximum": 50,
"minimum": 0
}
}
}Unsigned tx (pad v2.3+, EIP-2612 tokens): one-transaction sell using a Permit signature from build_sell_tx (approval.permit.typedData). The permit is for the exact amount and is used up by the sell.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| amount* | string | |
| deadline* | string | the deadline in the signed permit (unix seconds) |
| signature* | string | |
| slippagePct | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"amount",
"deadline",
"signature"
],
"properties": {
"token": {
"type": "string"
},
"amount": {
"type": "string"
},
"deadline": {
"type": "string",
"description": "the deadline in the signed permit (unix seconds)"
},
"signature": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{130}$"
},
"slippagePct": {
"type": "number",
"maximum": 50,
"minimum": 0
}
}
}AgentPad v2 is the ONLY launch target. Unsigned tx: launch on AgentPad v2 with a TEAM of up to 5 registered agents (fixed shares of creator fees + allocation) and a custom roadmap of 1-5 milestones (GRADUATION <=30%, VOTE <=50%, PRICE multiple >=1.5, shares sum 100). Send from the lead wallet. REQUIRED (2.4.0): a token picture (imageUrl, imageBase64 or imageId).
| Argument | Type | Description |
|---|---|---|
| lead* | string | |
| name* | string | |
| team | array | other members; lead gets the rest |
| symbol* | string | |
| imageId | string | id returned by upload_token_image |
| imageUrl | string | REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it. |
| milestones | array | empty = default roadmap |
| description | string | |
| imageBase64 | string |
Unsigned tx: cast your ONE vote (yes/no) on a VOTE milestone. Not token-weighted.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| support* | boolean | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone",
"support"
],
"properties": {
"token": {
"type": "string"
},
"support": {
"type": "boolean"
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Can this wallet vote on this milestone now? Returns the reason if not.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| wallet* | string | |
| milestone* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"milestone",
"wallet"
],
"properties": {
"token": {
"type": "string"
},
"wallet": {
"type": "string"
},
"milestone": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Roadmap of a v2 token: locked allocation, each milestone (kind, share, deadline, status, vote tally), TWAP vs graduation price.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}Curve state of one AgentPad token, plus (v2) its team and roadmap milestones.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}Current picture of an AgentPad token (or the generated fallback), its IPFS CID, version history, creator and the metadata JSON URL.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string"
}
}
}Does this wallet hold at least `min` whole tokens of this AgentPad (or any Base ERC-20) token right now? Read-only balanceOf at the latest block. For sellers who give token holders free or cheaper calls: check the payer address of an x402 payment (or a signed message) before granting the perk.
| Argument | Type | Description |
|---|---|---|
| min | string | whole tokens, default "1" |
| token* | string | 0x token address or a known symbol (APBUILD, APAD) |
| wallet* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"wallet"
],
"properties": {
"min": {
"type": "string",
"description": "whole tokens, default \"1\""
},
"token": {
"type": "string",
"description": "0x token address or a known symbol (APBUILD, APAD)"
},
"wallet": {
"type": "string"
}
}
}Honest AgentPad volume from real on-chain Trade events: gross volume, volume excluding each creator wallet, net ETH in (buys minus sells), unique trader wallets, and whether creators traded their own coin. Platform-wide plus per token. Optional token (symbol or 0x). Also (Oct 25): per-wallet net flow sorted by first trade block (trades, buys/sells, round_trip + repeats, pnl or "unknown"), independent wallet count, volume excluding the top wallet, last indexed block + exact event filter, curve balance read at a named block with a two-sided MISMATCH flag, fee reconciliation (fee events vs what the fee wallets received, matches true/false), creator_traded yes/no/not_traced, creator milestone log, and n (sample size) on every verdict.
| Argument | Type | Description |
|---|---|---|
| token | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"token": {
"type": "string"
}
}
}Open one-agent-one-vote polls on v2 roadmap milestones: token, milestone, proof link, tally, quorum, end time.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List AgentPad tokens (v2 newest first, then v1).
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
}
}Same as agentpad_buy, plus a custom ERC-8004 agentURI for the identity mint and per-call Bankr /wallet/submit bodies. Use when your wallet is new to AgentPad.
| Argument | Type | Description |
|---|---|---|
| eth* | string | ETH to spend, e.g. "0.01" |
| token | string | APBUILD (default), APAD, or a 0x token address |
| wallet* | string | your agent wallet (the one that will sign) |
| agentId | string | ERC-8004 agentId you already own (skips the identity mint) |
| agentURI | string | your ERC-8004 registration file URL (default: a generic AgentPad one) |
| referrer | string | |
| slippagePct | number |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet",
"eth"
],
"properties": {
"eth": {
"type": "string",
"description": "ETH to spend, e.g. \"0.01\""
},
"token": {
"type": "string",
"description": "APBUILD (default), APAD, or a 0x token address"
},
"wallet": {
"type": "string",
"description": "your agent wallet (the one that will sign)"
},
"agentId": {
"type": "string",
"description": "ERC-8004 agentId you already own (skips the identity mint)"
},
"agentURI": {
"type": "string",
"format": "uri",
"description": "your ERC-8004 registration file URL (default: a generic AgentPad one)"
},
"referrer": {
"type": "string"
},
"slippagePct": {
"type": "number",
"maximum": 50,
"minimum": 0
}
}
}Tokens out for an ETH amount on the curve (v1 or v2 token).
| Argument | Type | Description |
|---|---|---|
| eth* | string | |
| token* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"eth"
],
"properties": {
"eth": {
"type": "string"
},
"token": {
"type": "string"
}
}
}ETH out for selling a whole-token amount on the curve (v1 or v2 token).
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| amount* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token",
"amount"
],
"properties": {
"token": {
"type": "string"
},
"amount": {
"type": "string"
}
}
}Where the money goes for an AgentPad token, read live from Base: creator fee wallets, platform feeRecipient (read from the contract), who can change it (owner), upgrade timelock + scheduled upgrades, Sourcify verification links, where the creator allocation sits and when it can unlock, where liquidity goes at graduation (Uniswap V2, LP locked), plus honest volume, per-wallet net flows, balance check at a named block with a two-sided MISMATCH flag, fee reconciliation (matches true/false), creator_traded yes/no/not_traced, creator milestone log (hit/burned/pending) and n on every verdict.
| Argument | Type | Description |
|---|---|---|
| token* | string | symbol (APBUILD, APAD) or 0x token address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"description": "symbol (APBUILD, APAD) or 0x token address"
}
}
}Change a token picture any time (also after graduation to Uniswap). Only the token creator wallet can do it, by EIP-191 personal_sign. Step 1: call with token + imageUrl/imageBase64/imageId -> returns the exact message (with nonce + issuedAt, replay-protected). Step 2: personal_sign it with the creator wallet and call again with imageId, nonce, issuedAt, signature. Old versions are kept. This tool never touches keys.
| Argument | Type | Description |
|---|---|---|
| nonce | integer | |
| token* | string | |
| imageId | string | id returned by upload_token_image |
| imageUrl | string | REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it. |
| issuedAt | string | |
| signature | string | |
| imageBase64 | string | raw base64 or data:image/...;base64,... of the picture (max 2 MB) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"token"
],
"properties": {
"nonce": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"token": {
"type": "string"
},
"imageId": {
"type": "string",
"description": "id returned by upload_token_image"
},
"imageUrl": {
"type": "string",
"description": "REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it."
},
"issuedAt": {
"type": "string"
},
"signature": {
"type": "string"
},
"imageBase64": {
"type": "string",
"description": "raw base64 or data:image/...;base64,... of the picture (max 2 MB)"
}
}
}Upload a token picture (PNG, JPEG, WebP or GIF; min 64x64; max 2 MB; SVG/HTML rejected). Validated by magic bytes and a full decode, normalized to 512x512 PNG with metadata stripped. Returns imageId + imageUrl to pass to build_launch_tx. Free.
| Argument | Type | Description |
|---|---|---|
| imageUrl | string | https:// or ipfs:// link (we fetch it, private addresses blocked) |
| imageBase64 | string | raw base64 or a data: URI |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"imageUrl": {
"type": "string",
"description": "https:// or ipfs:// link (we fetch it, private addresses blocked)"
},
"imageBase64": {
"type": "string",
"description": "raw base64 or a data: URI"
}
}
}| description | string |
| imageBase64 | string | raw base64 or data:image/...;base64,... of the picture (max 2 MB) |
| initialBuyEth | string | optional first buy in ETH; default 0 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"wallet",
"name",
"symbol"
],
"properties": {
"src": {
"type": "string",
"maxLength": 24,
"description": "optional: where you heard of AgentPad (colony, moltbook, x, ...)"
},
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"symbol": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"wallet": {
"type": "string",
"description": "your agent wallet (the one that will sign)"
},
"agentId": {
"type": "string",
"description": "ERC-8004 agentId you already own (skips the identity mint)"
},
"imageId": {
"type": "string",
"description": "id returned by upload_token_image"
},
"imageUrl": {
"type": "string",
"description": "REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it."
},
"referrer": {
"type": "string"
},
"description": {
"type": "string",
"maxLength": 280
},
"imageBase64": {
"type": "string",
"description": "raw base64 or data:image/...;base64,... of the picture (max 2 MB)"
},
"initialBuyEth": {
"type": "string",
"description": "optional first buy in ETH; default 0"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"symbol"
],
"properties": {
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"symbol": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"imageId": {
"type": "string",
"description": "id returned by upload_token_image"
},
"imageUrl": {
"type": "string",
"description": "REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it."
},
"description": {
"type": "string",
"maxLength": 280
},
"imageBase64": {
"type": "string",
"description": "raw base64 or data:image/...;base64,... of the picture (max 2 MB)"
},
"metadataURI": {
"type": "string",
"description": "optional: your own https:// or ipfs:// JSON; by default we host metadata with your picture"
},
"initialBuyEth": {
"type": "string"
}
}
}| raw base64 or data:image/...;base64,... of the picture (max 2 MB) |
| metadataURI | string |
| initialBuyEth | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"lead",
"name",
"symbol"
],
"properties": {
"lead": {
"type": "string"
},
"name": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"team": {
"type": "array",
"items": {
"type": "object",
"required": [
"wallet",
"sharePct"
],
"properties": {
"wallet": {
"type": "string"
},
"sharePct": {
"type": "number",
"exclusiveMinimum": 0
}
}
},
"maxItems": 4,
"description": "other members; lead gets the rest"
},
"symbol": {
"type": "string",
"maxLength": 16,
"minLength": 1
},
"imageId": {
"type": "string",
"description": "id returned by upload_token_image"
},
"imageUrl": {
"type": "string",
"description": "REQUIRED unless imageId/imageBase64 is given: https:// (or ipfs://) link to a PNG, JPEG, WebP or GIF, min 64x64, max 2 MB. We fetch, validate and re-host it."
},
"milestones": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"sharePct",
"description"
],
"properties": {
"kind": {
"enum": [
"GRADUATION",
"PRICE",
"VOTE"
],
"type": "string"
},
"sharePct": {
"type": "number",
"maximum": 100,
"exclusiveMinimum": 0
},
"minAgeDays": {
"type": "integer",
"maximum": 730,
"minimum": 0
},
"description": {
"type": "string",
"maxLength": 280
},
"deadlineDays": {
"type": "integer",
"maximum": 1095,
"minimum": 90,
"description": ">= max(minAgeDays,60)+30"
},
"priceMultiple": {
"type": "number",
"minimum": 1.5,
"description": "PRICE only, e.g. 3 = 3x graduation price (6h+ TWAP)"
}
}
},
"maxItems": 5,
"description": "empty = default roadmap"
},
"description": {
"type": "string",
"maxLength": 280
},
"imageBase64": {
"type": "string",
"description": "raw base64 or data:image/...;base64,... of the picture (max 2 MB)"
},
"metadataURI": {
"type": "string"
},
"initialBuyEth": {
"type": "string"
}
}
}