Skip to main content
POST
/
action
curl --request POST \
  --url http://localhost:4000/v1/action \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id_user": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "description": "My awesome swap mini-app for AVAX/USDC",
  "wallet_address": "0x123abc456def789012345678901234567890abcd",
  "metadata": {
    "name": "AVAX/USDC Swap",
    "version": "1.0.0",
    "settings": {
      "slippage": 0.5,
      "gas_limit": 300000
    }
  },
  "contract_address": "0x456def789abc012345678901234567890123cdef",
  "type": "Swap",
  "protocol": "traderjoe",
  "blockchain_network": 43114,
  "is_active": true
}
'
{
  "success": true,
  "message": "Mini app created",
  "data": {
    "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "description": "My swap mini-app",
    "type": "Swap",
    "wallet_address": "0x123abc456def",
    "contract_address": "0x456def789abc",
    "protocol": "traderjoe",
    "blockchain_network": 43114,
    "is_active": true,
    "created_at": "2025-01-01T00:00:00Z"
  },
  "statusCode": 201,
  "timestamp": "2025-01-01T00:00:00Z",
  "path": "mini-apps"
}

Authorizations

Authorization
string
header
required

Use this format: ApiKey <your_api_key>

Body

application/json

Mini app creation payload

id_user
string
required

UUID of the user

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

description
string
required

Description of the mini app

Example:

"My awesome swap mini-app"

wallet_address
string
required

Wallet address

Example:

"0x123abc456def789012345678901234567890abcd"

metadata
object
required

JSON metadata object

Example:
{
"name": "My Mini App",
"version": "1.0.0",
"settings": { "slippage": 0.5, "gas_limit": 300000 }
}
contract_address
string
required

Contract address

Example:

"0x456def789abc012345678901234567890123cdef"

blockchain_network
number
required

Blockchain network ID (43114 for Avalanche mainnet)

Example:

43114

is_active
boolean
default:true
required

Is the mini app active?

Example:

true

type
enum<string>

Type of the mini app

Available options:
Swap,
Stake,
Transfer Native,
Tips,
Native Cross-Chain,
onboarding
Example:

"Swap"

protocol
string
default:traderjoe

Protocol used for the mini app

Example:

"traderjoe"

tx_hash
string

Transaction hash

Example:

"0xabc123def456789abc123def456789abc123def456789abc123def456789abcd"

blockchain_network_destination
number

Destination blockchain network ID (for cross-chain operations)

Example:

1

twitter_handle
string

Twitter handle (REQUIRED when type = "onboarding")

Example:

"johndoe"

id_x
string

Twitter ID (REQUIRED when type = "onboarding")

Example:

"123456789"

Response

Mini app created successfully

success
boolean
Example:

true

message
string
Example:

"Mini app created"

data
object
statusCode
number
Example:

201

timestamp
string<date-time>
path
string
Example:

"mini-apps"