Skip to content

Manage Roles

Roles define who can submit, verify, mint, burn, or administer a stablecoin. This guide walks you through assigning or removing roles for specific wallets using FSCO’s API.

Before you begin, ensure:

  • You have a deployed stablecoin and its stablecoinId
  • Your signer wallet has permission to manage roles (usually DEFAULT_ADMIN_ROLE)
POST /v2/stablecoin/{stablecoinId}/role
add-stablecoin-role.sh
curl -X POST https://api.fsco.io/v2/stablecoin/{{stablecoinId}}/role \
-H "Authorization: Bearer $FSCO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "ATTESTATION_MANAGER",
"role": "SUBMITTER_ROLE",
"roleWalletId": "{{walletId}}",
"signerWalletId": "{{walletId}}"
}'
{
"type": "ATTESTATION_MANAGER",
"role": "SUBMITTER_ROLE",
"roleWalletId": "{{walletId}}",
"signerWalletId": "{{walletId}}"
}
  • type: Role group: ATTESTATION_MANAGER or COLLATERALISED_TOKEN
  • role: Specific role to assign (see supported roles below)
  • roleWalletId: Wallet receiving the role
  • signerWalletId: Wallet authorized to assign roles
DELETE /v2/stablecoin/{stablecoinId}/role
remove-stablecoin-role.sh
curl -X DELETE https://api.fsco.io/v2/stablecoin/{{stablecoinId}}/role \
-H "Authorization: Bearer $FSCO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "ATTESTATION_MANAGER",
"role": "SUBMITTER_ROLE",
"roleWalletId": "{{walletId}}",
"signerWalletId": "{{walletId}}"
}'
GET /v2/stablecoin/{stablecoinId}/roles
list-stablecoin-roles.sh
curl -X GET "https://api.fsco.io/v2/stablecoin/{{stablecoinId}}/roles?type=ATTESTATION_MANAGER" \
-H "Authorization: Bearer $FSCO_API_KEY"

Attestation Manager Roles (ATTESTATION_MANAGER)

Section titled “Attestation Manager Roles (ATTESTATION_MANAGER)”
  • DEFAULT_ADMIN_ROLE (for managing roles)
  • SUBMITTER_ROLE (for submitting attestations)
  • VERIFIER_ROLE (for verifying attestations)

Collateralised Token Roles (COLLATERALISED_TOKEN)

Section titled “Collateralised Token Roles (COLLATERALISED_TOKEN)”
  • DEFAULT_ADMIN_ROLE (for managing roles)
  • MINTER_ROLE (for minting tokens)
  • PAUSER_ROLE (for pausing the stablecoin)
  • BLACKLISTER_ROLE (for blacklisting wallets)