Skip to main content
Version: v0.19.0

TSG Playground

Experience a live, fully operational dataspace — no installation required. The TSG Playground lets you discover datasets, negotiate contracts, and transfer data between real participants in minutes.

No setup needed

Jump straight in with a browser. The playground is always running and ready to use.

What You Get

The playground is a complete dataspace environment with three independent participants — Alice, Bob, and Charlie — each running their own TSG stack. An Authority Wallet issues the Verifiable Credentials that establish trust between them.

ComponentRole
Authority WalletIssues credentials and anchors trust in the dataspace
Three ParticipantsAlice, Bob, and Charlie, each with a full TSG stack
Pre-configured DatasetsHTTPBin test services ready for immediate use
Automated NegotiationsContracts are auto-accepted so you can focus on the flow, not the setup

What You Can Do Here

  • Learn — see dataspace concepts in action: catalogs, policies, contract negotiation, and data transfer
  • Explore — browse participants' catalogs and understand how access control works
  • Demonstrate — show stakeholders a working dataspace end-to-end
  • Validate — test your own client integrations before going live

Quick Access

Credentials

All playground components share the same login:

  • Username: playground
  • Password: test

These are shared demo credentials. Do not enter sensitive or production data.

Live Component URLs

Authority

ComponentURL
Authority Walletplayground.dataspac.es/wallet

Alice

ComponentURL
Walletalice.playground.dataspac.es/wallet
Control Planealice.playground.dataspac.es/control-plane
HTTP Data Planealice.playground.dataspac.es/http-data-plane

Bob

ComponentURL
Walletbob.playground.dataspac.es/wallet
Control Planebob.playground.dataspac.es/control-plane
HTTP Data Planebob.playground.dataspac.es/http-data-plane

Charlie

ComponentURL
Walletcharlie.playground.dataspac.es/wallet
Control Planecharlie.playground.dataspac.es/control-plane
HTTP Data Planecharlie.playground.dataspac.es/http-data-plane

How the Components Fit Together

Each participant runs three components that work together to enable secure data exchange:

Wallet — manages participant identity using Self-Sovereign Identity (SSI). It stores the Verifiable Credential issued by the Authority, which proves membership in the dataspace.

Control Plane — implements the Dataspace Protocol. It handles catalog publication, contract negotiation with other participants, and transfer lifecycle management.

HTTP Data Plane — executes the actual data exchange. It proxies requests to backend services and enforces the terms agreed in the transfer contract.


Tutorial: Complete a Data Exchange

This walkthrough guides you through the full flow: discovering a participant, negotiating a contract, and retrieving data. It takes about five minutes.

Step 1: Open the Control Plane

  1. Go to Alice's Control Plane
  2. Log in with playground / test
  3. The dashboard appears with a navigation menu on the left

Step 2: Discover Other Participants

  1. In the left menu, click Federated Catalog → Addresses
  2. Bob and Charlie appear, along with any other participants currently connected to the playground
  3. Click on Bob to open his entry
  4. Click Request Catalog to fetch his available datasets

The catalog shows all datasets Bob is willing to share, together with the access policies that govern them.

Step 3: Browse Bob's Catalog

  1. Bob's dataset "Bob HTTPBin" appears
  2. Click the info icon on the dataset to view its details

The dataset details reveal:

  • Title: Bob HTTPBin
  • Version: 0.9.2
  • Conforms to: HTTPBin OpenAPI specification
  • Policy: Always Allow (unrestricted access)
  • Distribution: API endpoint details

Step 4: Negotiate a Contract

  1. From the dataset details, click Negotiate Contract
  2. The system sends a contract negotiation request to Bob
  3. Because negotiations are automated in the playground, the agreement completes immediately

This establishes a formal, policy-backed agreement to access Bob's dataset.

Step 5: Start a Transfer

  1. In the left menu, click Negotiations
  2. Find your completed negotiation with Bob
  3. Click on it to open the details
  4. Click Request Transfer

A transfer agreement is created on top of the contract. This is the active permission that the data plane will verify.

Step 6: Confirm the Transfer is Active

  1. Click Transfers in the left menu
  2. Your transfer with Bob appears with status Active
Keep the transfer active

Do not complete, suspend, or terminate this transfer — you need it to stay active in order to access data.

Step 7: Retrieve Data

Now switch to the data plane to make an actual request through the secure channel:

  1. Open Alice's HTTP Data Plane
  2. Log in with playground / test
  3. Click Execute in the Quick Actions menu
  4. Fill in the request form:
    • Method: GET
    • Path: /anything
    • Headers: (leave as default)
    • Body: (empty for GET)
  5. Click Send Request

A successful response looks like this:

{
"args": {},
"headers": { "..." },
"method": "GET",
"origin": "...",
"url": "..."
}

You have just completed a full, policy-governed data exchange across a live dataspace.


Available Datasets

All three participants expose the same dataset for testing purposes.

HTTPBin Test Service

A request-and-response echo service — whatever you send, it reflects back. Policy is set to Always Allow, so no restrictions apply.

EndpointDescription
/anythingEchoes the full request back
/getReturns GET request data
/postReturns POST request data
/putReturns PUT request data
/deleteReturns DELETE request data
/headersReturns request headers
/ipReturns your origin IP address
/user-agentReturns the user-agent string
/status/{code}Returns the specified HTTP status code

Example: Send a POST to /post with:

{
"message": "Hello from the playground!"
}

The response echoes your message back with a 200 status, along with metadata about the request.


More Things to Try

Test Different HTTP Methods

Once you have an active transfer, explore the full set of HTTP operations from the Data Plane:

  • GET /get — retrieve data
  • POST /post with a JSON body — send data
  • PUT /put with a JSON body — update data
  • DELETE /delete — trigger a delete operation

Explore the Control Plane Sections

SectionWhat to look for
DashboardLive statistics and recent activity
RegistryKnown participants; request catalogs from here
CatalogsDatasets available from other participants
NegotiationsHistory of completed contracts
TransfersActive and historical data exchanges

Inspect the Wallet

Identity in a dataspace is built on Verifiable Credentials. To see how:

  1. Open any participant's Wallet (e.g., Alice's Wallet)
  2. Log in with playground / test
  3. View the stored Verifiable Credential
  4. Examine the credential subject — it records the participant's role and identity within the dataspace

This is what the Authority checks when deciding whether to trust another participant.


Troubleshooting

Cannot log in

note

Use playground / test (all lowercase, no spaces). Try a different browser or clear your browser cookies if login still fails.

Data Plane shows "No active transfer"

note

Go to Control Plane → Transfers and confirm your transfer has status Active. If it shows Completed, Suspended, or Stopped, re-request a transfer from the Negotiations view.

Request returns an error

note

Check that the endpoint path starts with / (e.g., /anything, not anything). Make sure the HTTP method matches the endpoint — use GET for /get, POST for /post, and so on. If the path is correct, it might be that the HTTPBin service is not working temporarily.

Page does not load

note

Double-check the subdomain in the URL. If the page still does not respond, the playground may be temporarily under maintenance.


Next Steps

Deploy Your Own Participant

Ready to connect your own infrastructure to the playground? The Deployment Guide walks you through:

  • Deploying your Wallet, Control Plane, and HTTP Data Plane on Kubernetes
  • Requesting a credential from the Authority Wallet
  • Exchanging data with Alice, Bob, and Charlie from your own participant

Go Deeper

ResourceDescription
Getting Started GuideFull TSG setup and CLI walkthrough
Architecture OverviewHow TSG components are designed and interact
Deployment DocumentationProduction deployment strategies
CLI Tool GuideAutomated deployment and configuration

Explore Advanced Features


Feedback and Support

Found an issue or want to suggest an improvement?