curl --request GET \
--url https://api.example.com/api/:projectId/instructions{
"projectId": "<string>",
"programName": "<string>",
"programId": "<string>",
"instructions": [
{
"name": "<string>",
"docs": [
{}
],
"accountCount": 123,
"argCount": 123,
"accounts": [
{
"name": "<string>",
"isMut": true,
"isSigner": true,
"isOptional": true
}
],
"args": [
{
"name": "<string>",
"type": "<string>",
"isDefinedType": true,
"definedTypeName": "<string>",
"fields": [
{}
]
}
]
}
],
"instruction": {
"name": "<string>",
"docs": [
{}
],
"accounts": [
{
"name": "<string>",
"isMut": true,
"isSigner": true,
"isOptional": true,
"pda": {
"seeds": [
{}
]
}
}
],
"args": [
{
"name": "<string>",
"type": "<string>",
"defaultValue": "<any>",
"isDefinedType": true,
"definedTypeName": "<string>",
"fields": [
{}
]
}
]
}
}List all instructions and get instruction details from a program IDL
curl --request GET \
--url https://api.example.com/api/:projectId/instructions{
"projectId": "<string>",
"programName": "<string>",
"programId": "<string>",
"instructions": [
{
"name": "<string>",
"docs": [
{}
],
"accountCount": 123,
"argCount": 123,
"accounts": [
{
"name": "<string>",
"isMut": true,
"isSigner": true,
"isOptional": true
}
],
"args": [
{
"name": "<string>",
"type": "<string>",
"isDefinedType": true,
"definedTypeName": "<string>",
"fields": [
{}
]
}
]
}
],
"instruction": {
"name": "<string>",
"docs": [
{}
],
"accounts": [
{
"name": "<string>",
"isMut": true,
"isSigner": true,
"isOptional": true,
"pda": {
"seeds": [
{}
]
}
}
],
"args": [
{
"name": "<string>",
"type": "<string>",
"defaultValue": "<any>",
"isDefinedType": true,
"definedTypeName": "<string>",
"fields": [
{}
]
}
]
}
}Documentation Index
Fetch the complete documentation index at: https://mintlify.com/berkayoztunc/orquestra/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/:projectId/instructions
Show Instruction Object
curl -X GET "https://api.orquestra.so/api/proj_abc123/instructions"
{
"projectId": "proj_abc123",
"programName": "token_swap",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"instructions": [
{
"name": "initialize",
"docs": ["Initializes a new token swap pool"],
"accountCount": 5,
"argCount": 2,
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"isOptional": false
},
{
"name": "authority",
"isMut": false,
"isSigner": true,
"isOptional": false
},
{
"name": "tokenA",
"isMut": false,
"isSigner": false,
"isOptional": false
},
{
"name": "tokenB",
"isMut": false,
"isSigner": false,
"isOptional": false
},
{
"name": "systemProgram",
"isMut": false,
"isSigner": false,
"isOptional": false
}
],
"args": [
{
"name": "fee",
"type": "u16",
"isDefinedType": false,
"definedTypeName": null,
"fields": null
},
{
"name": "config",
"type": "{ minLiquidity: u64, maxSlippage: u16 }",
"isDefinedType": true,
"definedTypeName": "PoolConfig",
"fields": [
{
"name": "minLiquidity",
"type": "u64",
"isDefinedType": false,
"nestedFields": null
},
{
"name": "maxSlippage",
"type": "u16",
"isDefinedType": false,
"nestedFields": null
}
]
}
]
},
{
"name": "swap",
"docs": ["Execute a token swap"],
"accountCount": 6,
"argCount": 2,
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"isOptional": false
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"isOptional": false
},
{
"name": "userTokenFrom",
"isMut": true,
"isSigner": false,
"isOptional": false
},
{
"name": "userTokenTo",
"isMut": true,
"isSigner": false,
"isOptional": false
},
{
"name": "poolTokenFrom",
"isMut": true,
"isSigner": false,
"isOptional": false
},
{
"name": "poolTokenTo",
"isMut": true,
"isSigner": false,
"isOptional": false
}
],
"args": [
{
"name": "amount",
"type": "u64",
"isDefinedType": false,
"definedTypeName": null,
"fields": null
},
{
"name": "minAmountOut",
"type": "u64",
"isDefinedType": false,
"definedTypeName": null,
"fields": null
}
]
}
]
}
GET /api/:projectId/instructions/:name
Show Instruction Details
curl -X GET "https://api.orquestra.so/api/proj_abc123/instructions/swap"
{
"projectId": "proj_abc123",
"programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"instruction": {
"name": "swap",
"docs": [
"Execute a token swap",
"Swaps tokens from one pool side to another"
],
"accounts": [
{
"name": "pool",
"isMut": true,
"isSigner": false,
"isOptional": false,
"pda": {
"seeds": [
{
"kind": "const",
"value": [112, 111, 111, 108]
},
{
"kind": "account",
"path": "tokenA"
},
{
"kind": "account",
"path": "tokenB"
}
]
}
},
{
"name": "user",
"isMut": false,
"isSigner": true,
"isOptional": false,
"pda": null
},
{
"name": "userTokenFrom",
"isMut": true,
"isSigner": false,
"isOptional": false,
"pda": null
},
{
"name": "userTokenTo",
"isMut": true,
"isSigner": false,
"isOptional": false,
"pda": null
},
{
"name": "poolTokenFrom",
"isMut": true,
"isSigner": false,
"isOptional": false,
"pda": null
},
{
"name": "poolTokenTo",
"isMut": true,
"isSigner": false,
"isOptional": false,
"pda": null
}
],
"args": [
{
"name": "amount",
"type": "u64",
"defaultValue": "0",
"isDefinedType": false,
"definedTypeName": null,
"fields": null
},
{
"name": "minAmountOut",
"type": "u64",
"defaultValue": "0",
"isDefinedType": false,
"definedTypeName": null,
"fields": null
}
]
}
}
404 Not Found - Project
{
"error": "Project not found or not public"
}
404 Not Found - Instruction
{
"error": "Instruction \"invalidName\" not found"
}
500 Internal Server Error
{
"error": "Failed to list instructions"
}
defaultValue for each argument, which is helpful for testing and building example transactions.pda field in account metadata indicates which accounts are Program Derived Addresses and provides the seed definitions needed to derive them.