curl --request POST \
--url https://api.coinlist.co/v1/participations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "<string>",
"approval_transaction_hash": "<string>",
"asset_id": "<string>",
"offer_id": "<string>",
"offer_option_id": "<string>",
"wallet_address": "<string>"
}
'import requests
url = "https://api.coinlist.co/v1/participations"
payload = {
"amount": "<string>",
"approval_transaction_hash": "<string>",
"asset_id": "<string>",
"offer_id": "<string>",
"offer_option_id": "<string>",
"wallet_address": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '<string>',
approval_transaction_hash: '<string>',
asset_id: '<string>',
offer_id: '<string>',
offer_option_id: '<string>',
wallet_address: '<string>'
})
};
fetch('https://api.coinlist.co/v1/participations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coinlist.co/v1/participations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '<string>',
'approval_transaction_hash' => '<string>',
'asset_id' => '<string>',
'offer_id' => '<string>',
'offer_option_id' => '<string>',
'wallet_address' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coinlist.co/v1/participations"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.coinlist.co/v1/participations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinlist.co/v1/participations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"amount": "<string>",
"amount_string": "<string>",
"asset": {
"code": "<string>",
"fractional_digits": 123,
"id": "<string>",
"name": "<string>"
},
"chain": "ethereum_sepolia",
"id": "05edea81-98a7-4582-aa7c-040d57cb1858",
"object": "participation",
"offer_id": "<string>",
"offer_option_id": "<string>",
"status": "prepared",
"inserted_at": "2025-01-01T00:00:00.000000Z",
"updated_at": "2025-01-01T00:00:00.000000Z",
"wallet_address": "<string>"
}{
"message": "<string>",
"type": "api_error",
"code": "<string>",
"errors": {},
"event_id": "<string>"
}Create a participation for the authenticated partner and user
curl --request POST \
--url https://api.coinlist.co/v1/participations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "<string>",
"approval_transaction_hash": "<string>",
"asset_id": "<string>",
"offer_id": "<string>",
"offer_option_id": "<string>",
"wallet_address": "<string>"
}
'import requests
url = "https://api.coinlist.co/v1/participations"
payload = {
"amount": "<string>",
"approval_transaction_hash": "<string>",
"asset_id": "<string>",
"offer_id": "<string>",
"offer_option_id": "<string>",
"wallet_address": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '<string>',
approval_transaction_hash: '<string>',
asset_id: '<string>',
offer_id: '<string>',
offer_option_id: '<string>',
wallet_address: '<string>'
})
};
fetch('https://api.coinlist.co/v1/participations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.coinlist.co/v1/participations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => '<string>',
'approval_transaction_hash' => '<string>',
'asset_id' => '<string>',
'offer_id' => '<string>',
'offer_option_id' => '<string>',
'wallet_address' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.coinlist.co/v1/participations"
payload := strings.NewReader("{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.coinlist.co/v1/participations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.coinlist.co/v1/participations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"<string>\",\n \"approval_transaction_hash\": \"<string>\",\n \"asset_id\": \"<string>\",\n \"offer_id\": \"<string>\",\n \"offer_option_id\": \"<string>\",\n \"wallet_address\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"amount": "<string>",
"amount_string": "<string>",
"asset": {
"code": "<string>",
"fractional_digits": 123,
"id": "<string>",
"name": "<string>"
},
"chain": "ethereum_sepolia",
"id": "05edea81-98a7-4582-aa7c-040d57cb1858",
"object": "participation",
"offer_id": "<string>",
"offer_option_id": "<string>",
"status": "prepared",
"inserted_at": "2025-01-01T00:00:00.000000Z",
"updated_at": "2025-01-01T00:00:00.000000Z",
"wallet_address": "<string>"
}{
"message": "<string>",
"type": "api_error",
"code": "<string>",
"errors": {},
"event_id": "<string>"
}Authorizations
OAuth 2.0 authorization and token endpoints
Body
Participation creation params
Parameters for creating an offer participation
The participation amount
The approval transaction hash
The ID of the asset
The blockchain chain for the funding contract
ethereum_sepolia, base_sepolia, solana_devnet, ethereum_mainnet, base_mainnet, solana_mainnet The ID of the offer
The ID of the offer option
The wallet address
Response
Successful response.
An offer participation
The participation amount
The participation amount formatted as a human-readable string
The asset details for the participation
Show child attributes
Show child attributes
The chain for the participation contract
ethereum_sepolia, base_sepolia, solana_devnet, ethereum_mainnet, base_mainnet, solana_mainnet Unique identifier for the object.
"05edea81-98a7-4582-aa7c-040d57cb1858"
String representing the object's type. Objects of the same type share the same value.
participation The ID of the offer
The ID of the offer option
The participation status
prepared, pending, submitted, completed, failed, remit_submitted, remitted, remit_failed When the participation was created
"2025-01-01T00:00:00.000000Z"
When the participation was last updated
"2025-01-01T00:00:00.000000Z"
The wallet address for the participation